@demonly
2018-04-13T09:47:31.000000Z
字数 1307
阅读 737
前端工程
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'})]