@krzepa
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<project default="hello">
<target name="hello">
<echo message="Hello, World"/>
</target>
</project>
build.xml
obecnie Maven, Gradle
node --version
node -p process.versions.v8
node
> this;
> void(setInterval(()=>console.log(+new Date()), 1000));
npm --version
npm init - konfigurator pliku package.json
npm install - instalacja wszystkich modułów z package.json
npm install npm --global - instalacja/aktualizacja npm
npm ls --global --depth=0 - listing pakietów globalnych
npm install gulp --save-dev - instalacja gulpa
rimraf - na problemy z długimi nazwami plików win7
package.json
node_modules
{ "name": "taskrunners", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "gulp": "^3.9.1" } }
package.json
w katalogu node_modules wszystkie moduły wymagane przez Gulpa
./app/**/*.{jpg|png}'
['js/**/*.js', '!js/**/*.min.js']
npm install grunt-cli --global
npm install grunt --save-dev
grunt taskname
module.exports = function (grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' }, build: { src: 'src/<%= pkg.name %>.js', dest: 'build/<%= pkg.name %>.min.js' } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.registerTask('default', ['uglify']); };
npm install grunt-contrib-uglify --save-dev
Gruntfile.js
npm install gulp-cli --global
npm install gulp --save-dev
gulp taskname
npm rm --global gulp
gulpfile.js
var gulp = require('gulp'), uglify = require('gulp-uglify'); gulp.task('uglify', function() { return gulp.src('src/*.js') .pipe(uglify()) .pipe(gulp.dest('build')); }); gulp.task('default', ['uglify']);
var gulp = require('gulp'), _p = require('gulp-load-plugins')(), browserSync = require('browser-sync').create(), browserify = require('browserify'), tsify = require('tsify'), glob = require('glob-all'), source = require('vinyl-source-stream'), buffer = require('vinyl-buffer'),
argv = require('yargs').argv,
...
gulp.task('compile-ts:src', function() { var b = browserify({ entries: glob.sync([srcPaths.tsentry, srcPaths.ts, srcPaths.tstypes]) }); return b.plugin(tsify, { typescript: require('typescript') }) .bundle() .pipe(source(argv.dev ? 'app.js' : 'app.min.js')) .pipe(buffer()) .pipe(_p.sourcemaps.init()) .pipe(_p.ngAnnotate()) .pipe(_p.if(!argv.dev, _p.stripDebug() )) .pipe(_p.if(!argv.dev, _p.uglify() )) .on('error', _p.util.log) .pipe(_p.if(argv.dev, _p.sourcemaps.write({includeContent:true}))) .pipe(gulp.dest('./dist')); });
"scripts": { "hello": "echo 'Hello Wordl!'", "build": "tsc src/*.ts --out dist/app.js" }
npm run hello
npm run build
package.json