Note: This generator is supporting a very early stage app,things gonna change very frequently,so please do not fork it or do any pull request.
webappstarter generator will give you a Simple Mobile Web App Boilerplate and Structure!
The App will automatically adjusts according to a device’s screen size without any extra work.
npm install -g generator-webappstarter2.install yeoman.
npm install -g yo3.[optional]Clone this git repo to your local,and from the root of the repo,run
npm linkto developing the generator locally.
1.generate a new project,run
mkdir myProject
cd myProject
yo webappstarteror run with --skip-install option to skip install dependencies
mkdir myProject
cd myProject
yo webappstarter --skip-installinstall dependencies manually with npm install or just copy node_modules folder from another project which was generated by webappstarter.
2.generate a new module,run
//this command will do:
//add "html/include/view-modulename.html" and inlude it to "html/include/views.html"
//add "scss/_view-modulename.scss" and import it to "scss/_view.scss"
//add "src/app/view/ModuleNameView.js"
//add "src/app/controller/ModuleNameController.js" and require it in src/app/App.js
yo webappstarter:module ModuleName3.generate a new model,run
//this command will do:
//add "src/app/model/ModelNameModel.js"
yo webappstarter:model ModelName4.update your project's boilerplate and structure
//this command will update
//"./src/core" directory
//"./src/lib" directory
//"./src/util" directory
//"./src/widget" directory
//some files in "./src/app/" directory
//some files in "./scss/" directory
//some files in "./html/" directory
yo webappstarter:updateWarning: When you are asked before an overwrite can occur,please be careful.Default "Y" is overwrite,"n" is skip.
More configurations,please take a look at "project" property of "package.json" file after the generator is done.
Run gulp to re-build project is required after change the "package.json" file.
run this command before you get started.
npm install -g gulp1.build project,watch change and start browserSync,run
gulpor run with forever
forever ./node_modules/.bin/gulp2.deploy to test server,run
gulp deploytestPlease update your ftp auth name and password in ".ftppass". View the page on test server http://office.mozat.com:8083/PROJECTNAME/. This command require openssl. For windows,you might needd to add openssl path to classpath.
3.deploy to offical server,run
gulp deployView the page on offical server http://m.deja.me/PROJECTNAME/. This command require rsync. For windows,unzip /tools/rsync.zip to a local path and add the path to classpath.
4.run this command to copy source images to project's resources/images/ path,then generate scss/_sprites.csss and resources/images/sprites.png for sourceSprites in package.json.
gulp copy5.run this command to start jshint.
gulp jshint6.run this command to start browserSync,Change browserSync options in package.json.
gulp serve7.run this command to start pagespeed,Change pagespeed options in package.json.
gulp pagespeedThe structure is modular design,follow the DOOR-KEY rule you only take minutes to understand it:
- The DOOR for javascript is in
/src/app/App.js,and the KEY isrequire,see webpack and commonjs - The DOOR for stylesheets is in
/scss/styles.scss,and the KEY is@import,see SASS - The DOOR for HTML is in
/html/debug/index.html,and the KEY is@@include,see gulp-file-include
Random git commit message
git commit -m"`curl -s http://whatthecommit.com/index.txt`"