|
@@ -0,0 +1,79 @@
|
|
|
+const {resolve} = require('path')
|
|
|
+const HtmlWebpackPlugin = require('html-webpack-plugin')
|
|
|
+const MiniCssExtractPlugin = require('mini-css-extract-plugin')
|
|
|
+
|
|
|
+//设置node环境变量
|
|
|
+process.env.NODE_ENV = 'development'
|
|
|
+
|
|
|
+module.exports = {
|
|
|
+ entry: './src/js/index.js',
|
|
|
+ output:{
|
|
|
+ filename:'js/bulit.js',
|
|
|
+ path: resolve(__dirname,'build')
|
|
|
+ },
|
|
|
+ module:{
|
|
|
+ rules:[
|
|
|
+ {
|
|
|
+ test: /\.css$/,
|
|
|
+ use: [
|
|
|
+ //取代style-loader,提取js中css成单独文件
|
|
|
+ MiniCssExtractPlugin.loader,
|
|
|
+ // 创建style标签,将样式放入
|
|
|
+ //'style-loader',
|
|
|
+ // 将css文件整合到js中
|
|
|
+ 'css-loader',
|
|
|
+ /**
|
|
|
+ * css 兼容性处理 postcss-loader postcss-preset-env
|
|
|
+ * "browserslist":{
|
|
|
+ "development":[
|
|
|
+ "last 1 chrome version",
|
|
|
+ "last 1 firefox version",
|
|
|
+ "last 1 safari version"
|
|
|
+ ],
|
|
|
+ "production":[
|
|
|
+ ">0.2%",
|
|
|
+ "not dead",
|
|
|
+ "not op_mini all"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ * 使用loader默认配置
|
|
|
+ * 'postcss-loader',
|
|
|
+ * 修改loader配置
|
|
|
+ */
|
|
|
+ {
|
|
|
+ loader: 'postcss-loader',
|
|
|
+ options: {
|
|
|
+ // 旧版本配置
|
|
|
+ /* ident: 'postcss',
|
|
|
+ plugins: () => [
|
|
|
+ require('postcss-preset-env')() //读取package.json里browserslist配置,默认加载根据node_env加载production
|
|
|
+ ] */
|
|
|
+ postcssOptions: {
|
|
|
+ plugins: [
|
|
|
+ [
|
|
|
+ 'postcss-preset-env'
|
|
|
+ ],
|
|
|
+ ],
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ plugins:[
|
|
|
+ new HtmlWebpackPlugin({
|
|
|
+ template:'./src/index.html'
|
|
|
+ }),
|
|
|
+ new MiniCssExtractPlugin({
|
|
|
+ filename:'css/built.css' //重命名
|
|
|
+ })
|
|
|
+ ],
|
|
|
+ mode:'development',
|
|
|
+ devServer:{
|
|
|
+ contentBase:resolve(__dirname,'build'),
|
|
|
+ compress:true,
|
|
|
+ port:3000,
|
|
|
+ open:true
|
|
|
+ }
|
|
|
+}
|