# 发布系统环境
nodejs+grunt
dependencies:
grunt、grunt-cli、grunt-cmd-concat、grunt-contrib-watch、htmlparser2、js-beautify、less等等。
# 配置
文件package.json
configs项(*基本不需要修改)。
"configs": {
"base": "src/", //基础目录*
"requirePjs": [{"src": ["**/"],"ext": "pjs"}], //src源码路径,ext扩展名*
"build": {"path": "dist/"}, //输出目录*
"server": {"ip": "192.168.10.47","autoreload": true}, //html引用的当前IP,是否自动刷新
"ptemplatejs": {"path": "./"} //ptemplatejs所在目录,合并时屏蔽的模块
}
src/app.js,项目配置文件
module.exports = {
configs: [{
projectName: "test", //项目名
version: "0.0.1", //项目版本
modules: { //模块配置,如果不配置将自动按系统默认处理
files: [{
"app.0.0.1": "./src/test/js/index.js", //输出文件名及版本:源文件地址及文件名
"app.in.0.0.1": "./src/test/js/index.in.js"
}]
}
},{
projectName: "book",
version: "0.0.1"
},{
projectName: "pages",
version: "0.0.1",
build:{
"uglifyjs": false, //是否压缩javascript文件
css:{ //此项不设置将默认不输出CSS文件
isfile: true //是否输出CSS文件
}
},
"ptemplatejs": {"ignore": ["jsonp","ajax"]}
//ptemplatejs合并时屏蔽的模块,不添加将合并全部
}]
}
执行脚本配置,添加新项目后可以在下面添加对应的命令。
"scripts": {
"pages": "grunt watch:pages",
...
}
# 目录
bin 系统主要模块目录
dist 输出目录
css 样式文件,*.css
html html页面文件,*.html
js js脚本文件,*.js
libs ptemplatejs库,*.js
zip 压缩包文件,*.zip
node_modules node依赖目录
src 源码目录
html html页面文件,*.html
js js脚本文件,*.js
pjs pjs单文件模板,*.pjs
router 路由文件,*.pjs
store 数据仓库文件,*.pjs
# 执行
在命令行环境下,输入 npm run pages 回车,当出现 waiting... 说明系统启动功能。
这时就可以在编辑器保存相应的文件,系统将自动完成文件的创建和更新。
单一项目手动生成,输入 grunt build_pages 回车,等待完成。
注:错误将给出相应提示,可能会停止。
如果停止执行的话,这时你就需要输入ctrl+c,按提示输入y回车。修复错误后再重复上面的命令继续。
github.com/ereddate/ptemplatejs
开发讨论群:9786575