webpack.config
usage
# 创建 package.json yarn init -y# 安装依赖 yarn add thunder-cli# 添加 .eslintrc.js 配置 touch .eslintrc.js# 添加 .thunderrc.js 配置 touch .thunderrc.js# 编译 thunder --watchthunder --build
.editorConfig
# EditorConfig is awesome: http://EditorConfig.org root = true [*]charset = utf-8end_of_line = lfindent_style = spaceindent_size = 4insert_final_newline = truetrim_trailing_whitespace = true
.eslintrc.js
使用较宽松的语法,可以在 thunder 配置文件同级目录进行覆盖
moduleexports = env: browser: true commonjs: true es6: true node: true extends: "eslint:recommended" parserOptions: sourceType: "module" parser: "babel-eslint" rules: indent: "warn" 4 quotes: "error" "single" semi: "error" "always" globals: $: true xla: true xlQuickLogin: true getCookie: true setCookie: true haslogin: true login: true logout: true msgExit: true ;
配置文件
配置文件名 thunder
,搜索位置如下:
[
'package.json',
'.thunderrc',
'.thunderrc.json',
'.thunderrc.yaml',
'.thunderrc.yml',
'.thunderrc.js',
'thunder.config.js',
]
配置文件参数
moduleexports = entry: './js/index.js' template: './index.html' publicPath: '/' hashDigestLength: 6 __cacheDir: './__thunder/' __destination: './assets/' __ftp: 'host': 'host' 'username': 'username' 'password': 'password' 'path': 'remotepath'
参数名 | 是否必须 | 描述 | 默认值 |
---|---|---|---|
entry | 可选 | [webpack 入口起点](https://webpack.docschina.org/concepts/entry-points/ | 配置文件同级目录下的 ./js/index.js |
template | 可选 | html-webpack-plugin 中的模板页面 | 配置文件同级目录下的 index.html |
publicPath | 可选 | 此输出目录对应的公开 URL | / |
hashDigestLength | 可选 | 散列摘要的前缀长度 | 6 |
__cacheDir | 可选 | 缓存打包后生成的文件,用于上传及拷贝到上线目录 | ./__thunder/ |
__destination | 可选 | 打包后实际生成目录 | ./assets/ |
__ftp | 可选 | ftp 配置,参考node-scp2 | 默认不开启ftp |
ftp配置建议:
在配置文件中添加 __ftp
配置,但是将 username
、password
移除;执行命令时执行
# 进入项目所在目录 cd workspacedir# 手动添加用户名和密码 thunder --watch --username=username --password=passwordthunder --build --username=username --password=password
注意事项
- 打包后会生成
__cacheDir
和__destination
目录,请在.gitignore
中忽略掉这 2 个文件夹。 - context : 基础目录,绝对路径,用于从配置中解析入口起点(entry point)和 loader。默认使用当前目录,但是推荐在配置中传递一个值。这使得你的配置独立于 CWD(current working directory - 当前执行路径)。
因此无法将
webpack
全局安装到cli
中
- 打包后兼容 ie8,使用
html-webpack-plugin
时,不注入到页面中即可
TODO
- 本地的
ssi
使用 ssi-loader 打包到页面中,减少ssi
的使用。 - prefetch & preload 插件
- performence 性能配置
-
.browserslistrc
配置 -
.eslintrc
配置 - 添加测试
- css minify
- image optimization