An Empty Sails Single Page Application sails文档请点击查看
- sails + art ------------------ //node框架、模板引擎
- webpack4 ----------------- //构建、模块化、打包工具
- vue -------------------------- //前端框架
- vue-router ----------------- //前端路由
- iconfont -------------------- //阿里妈妈图标库 查看
- nodejs(推荐官网下载包安装,简单方便) v16+
- npm -g install bower ------------- //js包管理(推荐用npm安装到node,只是npm没有的库再考虑bower安装到前端使用)
- npm -g install sails@0.12.4 --------------- //nodejs框架
npm install
sails lift //普通开发模式 (请访问http://localhost:1337,host地址可在config/macros.js中更改)
sails lift --hot //热加载开发模式 (webpack hot reload)(请访问http://localhost:3000)
sails lift --prod //普通生产模式 (webpack打包所有资源)
sails lift --prod --fast //极速生产模式 (webpack不进行打包,.tmp网站目录不会生成任何文件,需要结合cdn部署,cdn源站地址请在config/macros.js中设置)
sails lift --prod --deploy //生产部署模式 (webpack打包所有资源至www文件夹 + cdn网络部署(需自行在api/deploy/index.js中实现上传整个www目录文件至cdn源站)))
sails lift --only --deploy //仅仅部署 (一般当生产部署模式中cdn上传失败时,才使用此命令,仅重新执行了api/deploy/index.js)
sails generate page <groupName> <pageName> <moduleName> //生成新页面文件
sails generate page-module <groupName> <pageName> <moduleName> //生成页面模块
sails generate ... //sails自带生成器,省略..
-
config/pages.js
module.exports.pages = { //定义公共的第三方库模块(每一行可为数组并合并打包,并单独加载,此处仅为声明,页面如需使用,请在下面pages中otherJs指定) libraries: { 'libs': ['vue', 'vue-router'], }, //页面配置列表(一组单页视为一个group,可以有无限个子页面,也可以实现多组单页兼并,则在下面数组进行其它页面配置) pages: [ { name: 'group-app', //页面名 mainHtml: '/group-app.art', //页面主html文件 (pages 目录下) mainJs: '/views/group-app/main.js', //页面主js文件 (assets/javascript 目录下) otherJs: ['libs'], //所需的公共模块(一组libs生成一个引用文件,因此建议一个页面只用一组libs,每组内允许添加多个库) isStatic: false, //该页面是否为静态页面 (①静态页面则以html格式输出到.tmp/public/pages;②动态页面则输出到views中,可在config/routes中使用) title: '单页', //页面标题 keywords: [], //页面SEO关键词 description: '', //页面SEO描述 } ] }
-
config/macros.js ------> 全局宏配置(支持前后端共享)
-
config/webpack-loaders.js ------> webpack 加载器配置
-
config/webpack-paths.js ------> webpack 模块别名(路径)配置
-
config/webpack-plugins.js ------> webpack 插件配置
-
根目录创建.devlaunch,可配置开发时仅启动的页面组
{ "pages": [ "group-auth", "group-app", "" ] }