Graunt学習ノートの開発環境の構築と基本的なプロジェクトの作成
5430 ワード
** **
Grunt Nodejs ,Grunt Grunt Nodejs (npm) 。
nodejs, nodejs, Grunt nodejs , nodejs, npm update -g npm ( sudo )。
Grunt , Grunt, grunt-cli, ,Grunt CLI : Gruntfile Grunt。 , Grunt。
**nodejs :**
1、 nodejs 。 :[https://nodejs.org/en/download/](https://nodejs.org/en/download/)。
2、 ,windows:msi exe Mac Os:pkg
3、 ,MacOs:
curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"
:[https://nodejs.org/en/download/package-manager/#windows](https://nodejs.org/en/download/package-manager/#windows)
**Grunt CLI **
sudo( OSX、*nix、BSD ) ( Windows ) :
npm install -g grunt-cli
**Grunt CLI **
grunt , node require() Grunt。 , grunt 。
Grunt,CLI , Gruntfile( , ) , 。 Grunt CLI 。 :[Grunt CLI ](https://github.com/gruntjs/grunt-cli/blob/master/bin/grunt), Grunt 。
** Grunt **
Grunt :package.json Gruntfile。
package.json: npm , npm 。 grunt Grunt , devDependencies 。
Gruntfile: Gruntfile.js Gruntfile.coffee, (task) Grunt 。 Gruntfile , Gruntfile.js Gruntfile.coffee。
:
1、 : :/Volum/D/gruntProject
2、 , package.json ( : json , json , json :[json ](http://www.json.org/)),package.json , Gruntfile , 。
: package.json , ( json )
{
"name": "my-project-name", //
"version": "0.1.0", //
"devDependencies": { // grunt
"grunt": "~0.4.5", // grunt-cli grunt Grunt
"grunt-contrib-jshint": "~0.10.0", // grunt ,
}
}
: package.json
①、 [grunt-init](http://www.gruntjs.net/project-scaffolding) package.json 。
②、[npm init](https://docs.npmjs.com/cli/init) package.json 。
package.json :
{
"name": "my-project-name",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.5", // grunt
"grunt-contrib-uglify": "~0.5.0"
}
}
4、 package.json npm install package.json 。 Gruntfile 。
Grunt
: package.json devDependencies :
...
"devDependencies": {
"grunt": "~0.4.5", //grunt
"grunt-contrib-jshint": "~0.10.0", //grunt
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-uglify": "~0.5.0"
}
...
: , package.json Grunt grunt *npm install --save-dev* , package.json devDependencies
:
grunt, grunt devDependencies :
npm install grunt --save-dev
JSHint :
npm install grunt-contrib-jshint --save-dev
**Gruntfile**
Gruntfile.js Gruntfile.coffee JavaScript CoffeeScript , , package.json , 。
Gruntfile :
"wrapper"
grunt
①、"wrapper"
Gruntfile ( grunt ) , Grunt :
module.exports = function(grunt) {
// Do grunt-related things in here
};
②、
Grunt , , grunt.initConfig() 。 grunt.initConfig(Object o) Grunt Grunt。
, , 。 , JavaScript, JSON; JS 。 , 。
grunt.file.readJSON('package.json') package.json JSON grunt config 。
:
grunt.initConfig({ //initConfig() {...}
pkg: grunt.file.readJSON('package.json'), // package.json grunt , pkg package.json
uglify: { //
options: {
banner: '/*! */
'
},
build: { //uglify
src: 'src/.js',
dest: 'build/.min.js'
}
}
});
③、 Grunt
package.json dependency( ) , npm install , Gruntfile :
// "uglify" 。
grunt.loadNpmTasks('grunt-contrib-uglify');
④、
default , Grunt 。
// , uglify 。 grunt uglify grunt default
grunt.registerTask('default', ['uglify']);
grunt , Gruntfile 。
module.exports = function(grunt) {
// A very basic default task.
grunt.registerTask('default', 'Log some stuff.', function() {
grunt.log.write('Logging some stuff...').ok();
});
};