@demonly
2018-04-13T09:47:31.000000Z
字数 1307
阅读 714
前端工程
const config = {
// 配置信息
};
module.exports = config
entry: {
app: './src/app.js',
vendors: './src/vendors.js',
}
设置一个对象为每个入口指定入口文件,入口可以是一个字符串也可以是一个数组。也可以只设置一个入口,此时将会默认设置这个路径为 main 入口的入口文件。
output: {
path: path.resolve(__dirname, 'dist'),
filename: '[name].js'
}
loader 的作用是在加载模块时对文件进行预处理,在 module.rules 中定义预处理的规则。use 属性既可以是一个表示 loader 的字符串,也可以是包含多个 loader 的数组
module: {
rules: [
{ test: /\.ts$/, use: 'ts-loader' },
{
test: /\.css$/,
use: [
{ loader: 'style-loader' },
{
loader: 'css-loader',
options: {
modules: true
}
}
]
}
]
}
每条规则可以包含以下属性
解析模块请求的选项
resolve: {
alias: {
module: path.resolve(__dirname, 'app/third/module.js')
}
}
target 可以是以下值 "web"、"webworker"、"node"、"async-node"、"node-webkit"、"electron-main"、"electron-renderer"
防止将某些模块打包到 bundle 中,而是在运行时获取这些扩展依赖。
external: {
jquery: 'jQuery'
}
插件旨在解决 loader 无法实现的功能,使用时需要传入插件的实例
plugins: [
new webpack.optimize.UgliJsPlugin(),
new HtmlWebpackPlugin({template: './src/index.html'})
]