// node中的引入路径模块 const path = require('path'); // 引入webpack const webpack = require('webpack'); // 压缩js const uglify = require('uglifyjs-webpack-plugin'); module.exports = { //入口文件的配置项 entry: { entry: './src/entry.js' }, //出口文件的配置项 output: { //输出的路径,用了Node语法 path: path.resolve(__dirname, 'dist'), //输出的文件名称 filename: 'bundle.js' }, //模块:例如解读CSS,图片如何转换,压缩 module: { rules: [{ // 用于匹配处理文件的扩展名的表达式,这个选项是必须进行配置的; test: /\.css$/, // loader名称,就是你要使用模块的名称,这个选项也必须进行配置,不然报错; use: ['style-loader', 'css-loader'] // include/exclude:手动添加必须处理的文件(文件夹)或屏蔽不须要处理的文件(文件夹)(可选) // query:为loaders提供额外的设置选项(可选) }] }, //插件,用于生产模版和各项功能 压缩 后 不能热更新!!! plugins: [ new uglify() ], //配置webpack开发服务功能 devServer: { //设置基本目录结构 contentBase: path.resolve(__dirname, 'dist'), //服务器的IP地址,能够使用IP也能够使用localhost host: 'localhost', //服务端压缩是否开启 compress: true, //配置服务端口号 port: 9097 } }
{ "name": "xz", "version": "1.0.0", "description": "", "main": "webpack.config.js", "scripts": { "start": "webpack-dev-server" }, "author": "", "license": "ISC", "devDependencies": { "css-loader": "^0.28.7", "style-loader": "^0.19.0", "webpack": "^3.8.1", "webpack-dev-server": "^2.9.3" } }
npm start 开发环境 webpack 生产环境