UNPKG

base-web-cli

Version:

A cli based on native Web

151 lines (105 loc) 3.87 kB
# base-web-cli ================= `base-web-cli` 使用原生js进行开发,为了方便起见, 内置了 `jQuery`,开发起来更加方便。支持js文件和css文件 的热更新。html 暂时需要主动刷新页面来进行更新。脚手架还内置了 `less` ,可直接使用。 ## 安装 ``` npm install -g base-web-cli ``` 然后执行命令 ``` base-web-cli ``` 输入你的项目名称, 它将会创建该目录并将脚手架代码复制进去。 然后再去安装项目依赖和运行项目 ``` npm install npm run dev ``` 现在你可以去愉快的开发了。 ### js - babel 项目内置了 `babel` ,并将 `presets` 设置为 `@babel/preset-env`。支持绝大部分js 新语法。除了`js`文件外, 处于 `html` 中的 `script` 标签内的js也支持js新语法。但不建议这样做, 最好是一个 `html` 文件对应一个 `js` 文件。 ### 模块化 #### js内`js` 文件内支持常规的 `import``require````js import '../style.css' // 支持引入css, less 等 import $ from 'jquery' // 也可以引入依赖 import { getDate } from './utils.js' // 还可以引入 其他js 文件 ``` #### html内`script` 标签中不支持`import``require` 引入。 但是提供模板语法。 ```html <%= header %> // 引入 header.html 公共组件 <%= js!cli %> // 引入 cli.js 文件, 会自动用 <script></script> 标签包裹 <%= css!style %> // 引入 style.css 文件 (css同理) ``` `header``cli``style` 分别需定义在 `config.js` 文件中 `requireFileUrl` 字段配置 url。 ```js // config.js module.exports = { requireFileUrl: { header: './web/header.html', cli: './web/js/cli.js', style: './web/css/style.css' } } ``` #### css内 针对 `less`, 提供全局CSS变量, 定义在`config.js` 文件中的。这样在其他 `less` 文件中也可以直接使用该变量。 ```js // config.js module.exports = { GlobalCSSVar: setGlobalCSSVar({ '@mainColor': 'red', '@mainFontSize': '30px' }) } ``` 并且提供 `include``exclude` 两个参数。 (include, exclude 支持正则表达式和纯字符串, 两个参数不可同时出现否则不起作用) include 包含哪些文件需要全局参数, 注意: 一旦启用这个参数,则不会在所有的less文件中注入全局变量,只是以此参数选择注入 exclude 哪些文件不需要包含全局参数, 在include参数没定义时才起作用 ```js // config.js module.exports = { GlobalCSSVar: setGlobalCSSVar({ '@mainColor': 'red', '@mainFontSize': '30px' }), GlobalCSSVarOptions: { include: 'cli.less' // exclude: /cli\.less/ } } ``` ### webpack 多页面 项目采用 `webpack` 构建, 使用多页面功能。 一个html文件对应一个js文件。 如: `index.html` => `index.js` js 文件应该放在 js文件夹目录下。否则识别不到路径。 每新增一个页面, 需要在 `config.js` 文件中的新增一个页面。项目启动后 默认打开数组第一个页面。 ```js // config.js module.exports = { // 分别对应着 index.html , cli.html, res.html三个页面 pages: [ 'index', 'cli', 'res' ] } ``` ### webpack 全局变量 环境变量`config.js` 文件中有 `env` 环境变量, 分别为'dev'(开发环境) 和 'prd'(生产环境), 默认为dev。 并且有 `APP__GLOBAL__VAR_DEV``APP__GLOBAL__VAR_PRD` 两个全局变量对应着不同的环境。在整个项目不同地方可访问。 ```js // config.js module.exports = { env: 'dev', APP__GLOBAL__VAR_DEV: { apiUrl: 'http://dev.openapi**' }, APP__GLOBAL__VAR_PRD: { apiUrl: 'http://prd.openapi**' } } ```