标签:
There are several lessons that will build on top of this project. It is a fairly standard, small webpack bundled project. In this lesson we’ll explore the project a bit so you’re familiar with how things are set up for future lessons.
In Webpack 2, the config take a fucntion, which accept a env param points to system env.
const {resolve} = require(‘path‘)
module.exports = env => {
return {
entry: ‘./js/app.js‘,
output: {
filename: ‘bundle.js‘,
path: resolve(__dirname, ‘dist‘),
pathinfo: !env.prod,
},
context: resolve(__dirname, ‘src‘),
devtool: env.prod ? ‘source-map‘ : ‘eval‘,
bail: env.prod,
module: {
loaders: [
{test: /\.js$/, loader: ‘babel!eslint‘, exclude: /node_modules/},
{test: /\.css$/, loader: ‘style!css‘},
],
},
}
}
Package.json scripts:
"scripts": { "test": "karma start", "check-coverage": "istanbul check-coverage --statements 23 --branches 5 --functions 9 --lines 24", "watch:test": "npm test -- --auto-watch --no-single-run", "validate": "npm-run-all --parallel validate-webpack:* lint test --serial check-coverage", "validate-webpack:dev": "webpack-validator webpack.config.js --env.dev", "validate-webpack:prod": "webpack-validator webpack.config.js --env.prod", "clean-dist": "rimraf dist", "copy-files": "cpy src/index.html src/favicon.ico dist", "clean-and-copy": "npm run clean-dist && npm run copy-files", "prestart": "npm run clean-and-copy", "start": "webpack-dev-server --env.dev --content-base dist", "prebuild": "npm run clean-and-copy", "prebuild:prod": "npm run clean-and-copy", "build": "webpack --env.dev", "build:prod": "webpack --env.prod -p", "lint": "eslint .", "setup": "npm install && npm run validate" }
[Webpack 2] Intro to the Production Webpack Course
标签:
原文地址:http://www.cnblogs.com/Answer1215/p/5597333.html