微信小程序 webpack 插件
很多前端开发者都使用过 webpack,通过 webpack 开发 JavaScript 项目可以带来很多好处
yarn
或 npm
引入和使用 node_modules
模块loaders
和 plugins
alias
app.js
, app.json
, pages/index/index.js
等等),使用这个插件只需要引入 app.js
即可,其余文件将会被自动引入pages/index/index.js
和 pages/logs/logs.js
)引入有相同的模块,这个插件能避免重复打包相同模块app.json
上的 tabbar
图片 (v0.17.0 或以上)yarn add -D wxapp-webpack-plugin
在 entry
上引入 { app: './src/app.js' }
, 这里的 ./src/app.js
为微信小程序开发所需的 app.js
。注意 key
必须为 app
,value
支持数组)
在 output
上设置 filename: '[name].js'。
注意 这里 [name].js
是因为 webpack
将会打包生成多个文件,文件名称将以 [name]
规则来输出
添加 new WXAppWebpackPlugin()
到 plugins
loader
的使用提示为了使 webpack
能编译和输出非 .js
文件,配置时要按需添加各种 loaders
。这里作者推荐使用以下几个对微信小程序开发很有用的 loaders
:
*.json
,*.wxss
,*.jpg
之类的文件webpack
能编译或处理 *.wxss
上引用的文件webpack
能编译或处理 *.wxml
上引用的文件开发者也可以根据自身需求和习惯,使用 sass-loader
之类的 loader
。
完整的项目开发脚手架,请查看 wxapp-boilerplate
webpack.config.babel.js
import WXAppWebpackPlugin from 'wxapp-webpack-plugin';
export default {
// ...configs,
plugins: [
// ...other,
new WXAppWebpackPlugin(options)
],
};
所有 Options
均为可选
clear
(\<Boolean>): 在启动 webpack
时清空 dist
目录。默认为 true
commonModuleName
(\<String>): 公共 js
文件名。默认为 common.js
extensions
(\<Array\<String>>): 脚本文件后缀名。默认为 ['.js']
Targets
Webpack target 值,目前有 Targets.Wechat
和 Targets.Alipay
,如果不配置,webpack target 将会自动设为 Targets.Wechat
。如果需要开发支付宝小程序,则改为 Targets.Alipay
。开发者也可以通过 process.env.TARGET
之类的配置来动态输出。
webpack.config.babel.js
import WXAppWebpackPlugin, { Targets } from 'wxapp-webpack-plugin';
export default {
// ...configs,
target: Targets[process.env.TARGET || 'Wechat'],
};
src
(源)目录创建 app.js
、app.json
、app.wxss
、pages/index/index.js
之类的文件进行开发MIT © Cap32