vue-loader的配置
build/vue-loader.coonfig.js
module.exports = (isDev) => { return { preserveWhitepace: true, //清除文本换行等情况空格 extractCSS: isDev ? false : true, // 把vue的css提取到单独的文件,默认 cssModules: { localIndetName: '[xxx]', camcelcase: true }, // 用法:<style module> hotReload: true, // 热更新,默认会自动判断是否开发环境自动开启关闭,其实关闭后也会刷新页面更新 }; };
webpack.config.base.js修改如下:
const path = require('path'); const vueloaderOptions=require('./vue-loader.config') const isDev = process.env.NODE_ENV === 'development' const config = { target: 'web', entry: path.join(__dirname, '../client/index.js'), //__dirname 当前文件所在的目录地址 output: { filename: 'bundle.js', path: path.join(__dirname, '../dist'), }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options:vueloaderOptions(isDev), exclude:/node_modules/ },
rimraf——每次打包之前删除之前的包 执行命令 rimraf dist
package.json配置如下:
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build:client": "cross-env NODE_ENV=production webpack --config build/webpack.config.client.js","clean": "rimraf dist", "build": "npm run clean && npm run build:client", "dev": "cross-env NODE_ENV=development webpack-dev-server --config build/webpack.config.client.js" },