1.12.5 • Published 6 years ago
thunder-cli v1.12.5
webpack.config
usage
# 创建 package.json
yarn init -y
# 安装依赖
yarn add thunder-cli
# 添加 .eslintrc.js 配置
touch .eslintrc.js
# 添加 .thunderrc.js 配置
touch .thunderrc.js
# 编译
thunder --watch
thunder --build
.editorConfig
# EditorConfig is awesome: http://EditorConfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
.eslintrc.js
使用较宽松的语法,可以在 thunder 配置文件同级目录进行覆盖
module.exports = {
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',
]
配置文件参数
module.exports = {
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=password
thunder --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