目錄css
module.exports = { plugins: [ require('autoprefixer') ] }
// node中的引入路徑模塊 const path = require('path'); // 引入webpack const webpack = require('webpack'); // 打包html const htmlPlugin= require('html-webpack-plugin'); // 壓縮js const uglify = require('uglifyjs-webpack-plugin'); // 從js中分離css插件 const extractTextPlugin = require("extract-text-webpack-plugin"); // 爲處理路徑 設置一個 絕對路徑 var website ={ publicPath:"http://192.168.1.101:809/" } module.exports = { //入口文件的配置項 entry: { entry: './src/js/entry.js' }, //出口文件的配置項 output: { //輸出的路徑,用了Node語法 path: path.resolve(__dirname, 'dist'), //輸出的目錄以及文件名稱 filename: 'js/bundle.js', // 處理分離後css路徑對不上問題 publicPath:website.publicPath }, //模塊:例如解讀CSS,圖片如何轉換,壓縮 module: { rules: [ { // 用於匹配處理文件的擴展名的表達式,這個選項是必須進行配置的; test: /\.css$/, // 引用分離css的plugin use: extractTextPlugin.extract({ fallback: "style-loader", use: [ { loader: 'css-loader', options: { importLoaders: 1 } }, 'postcss-loader' ] }) }, { test:/\.(png|jpg|gif)/ , // 指定使用的loader和loader的配置參數 use:[{ loader:'url-loader', options:{ // 把小於500000B(488kb)的文件打成Base64的格式,寫入JS 小於則幫你複製圖片過去並引入 // limit:500000 // 如今是以圖片形式引入 limit:50, // 指定圖片輸出的目錄 outputPath:'images/' } }] } ] }, //插件,用於生產模版和各項功能 壓縮 會讓熱更新失效 plugins: [ // new uglify(), new htmlPlugin({ // 是對html文件進行壓縮,removeAttrubuteQuotes是卻掉屬性的雙引號 minify:{ removeAttributeQuotes:true }, // 爲了開發中js有緩存效果,因此加入hash,這樣能夠有效避免緩存JS hash:true, // 是要打包的html模版路徑和文件名稱 template:'./src/index.html' }), // 從js中分離css /css/index.css是設置分離後的路徑 除此以外還要修改css-loader的寫法 // 分離出來後圖片路徑不對 用publicPath解決 在output中設置 new extractTextPlugin("css/index.css") ], //配置webpack開發服務功能 devServer: { //設置基本目錄結構 contentBase: path.resolve(__dirname, 'dist'), //服務器的IP地址,可使用IP也可使用localhost host: '192.168.1.101', //服務端壓縮是否開啓 compress: true, //配置服務端口號 port: 809 } }
{ "name": "xz", "version": "1.0.0", "description": "", "main": "webpack.config.js", "scripts": { "start": "webpack-dev-server" }, "author": "", "license": "ISC", "devDependencies": { "autoprefixer": "^7.1.6", "css-loader": "^0.28.7", "extract-text-webpack-plugin": "^3.0.1", "file-loader": "^1.1.5", "html-webpack-plugin": "^2.30.1", "postcss-loader": "^2.0.8", "style-loader": "^0.19.0", "url-loader": "^0.6.2", "webpack": "^3.8.1", "webpack-dev-server": "^2.9.3" } }
npm start 開發環境 webpack 生產環境