配置webpack.config.js中的文件


webpack.config.js文件中,主要包括

entry:入口文件

output:出口文件

module:模塊

plugins:插件

這幾部分

1.基本配置

運行 webpack 這一命令可以將以app.js及其依賴的js文件打包到dist文件夾下的main.js文件下

 1 var path = require('path')
 2 
 3 module.exports = {
 4   // 入口文件配置
 5   entry: "./src/app.js",
 6 
 7   // 出口文件配置項
 8   output: {
 9     // 輸出的路徑,webpack2起就規定必須是絕對路徑
10     path: path.join(__dirname, 'dist'),
11     // 輸出文件名字
12     filename: "main.js"
13   }
14 }

2.引入webpack-dev-server將文件打包到內存中,使得文件保存后刷新頁面即可得到新的結果

需要先進行運行:

1.npm init -y

2.npm i webpack-dev-server -g(全局安裝,否則報錯)

2.npm i webpack-dev-server@2.9.7 webpack@3.11.0 -D

 1   var path = require('path')
 2 
 3   module.exports = {
 4     // 入口文件配置
 5     entry: "./src/app.js",
 6 
 7     // 輸出配置
 8     output: {
 9       // 輸出的路徑
10       path: path.join(__dirname, 'dist'),
11       // 靜態資源在服務器上運行時的訪問路徑,可以直接http://localhost:8080/dist/bundle.js訪問到服務器中的bundle.js文件
12       publicPath: '/dist',
13       // 輸出文件名字
14       filename: "main.js"
15     }
16   }

更改完成后運行:webpack-dev-server
下面是配置熱啟動,免刷新
配置script:"dev": "webpack-dev-server --inline --hot --open --port 80
運行:npm run dev 可以直接打開頁面,不用復制地址打開

3.安裝npm install css-loader style-loader --save-dev

這個可以用來配置module文件,配置依賴的loader文件

 1   module: {
 2     rules: [
 3       // 配置的是用來解析.css文件的loader(style-loader和css-loader)
 4       {
 5         // 1.0 用正則匹配當前訪問的文件的后綴名是  .css
 6         test: /\.css$/,
 7         use: ['style-loader', 'css-loader'] //webpack底層調用這些包的順序是從右到左
 8       }
 9     ]
10   }

3.1webpack-less&webpack-sass

配置less和sass文件  

npm install less less-loader sass-loader node-sass --save-dev

 1 {
 2     test: /\.less$/,
 3     use: [{
 4         loader: 'style-loader'
 5     }, {
 6         loader: 'css-loader'
 7     }, {
 8         loader: 'less-loader'
 9     }]
10 },
 1 {
 2     test: /\.scss$/,
 3     use: [{
 4         loader: 'style-loader'
 5     }, {
 6         loader: 'css-loader'
 7     }, {
 8         loader: 'sass-loader'
 9     }]
10 }

3.2webpack-圖片&字體

npm install file-loader url-loader --save-dev

 1 {
 2     test: /\.(png|jpg|gif)/,
 3     use: [{
 4         loader: 'url-loader',
 5         options: {
 6           // limit表示如果圖片大於50000byte,就以路徑形式展示,小於的話就用base64格式展示
 7             limit: 50000
 8         }
 9     }]
10 }

4.webpack-html

npm install html-webpack-plugin --save-dev

 1 // 注意需要注釋掉publicPath,不然會沖突
 2 
 3 var HtmlWebpackPlugin = require('html-webpack-plugin')
 4 
 5 plugins: [
 6     new HtmlWebpackPlugin({
 7         filename: 'index.html',
 8         template: 'template.html'
 9     })
10 ]

5.npm install babel-core babel-loader babel-preset-env --save-dev

 1     {
 2       test: /\.js$/,
 3       // Webpack2建議盡量避免exclude,更傾向於使用include
 4       // exclude: /(node_modules)/, // node_modules下面的.js文件會被排除
 5       include: [path.resolve(__dirname, 'src')]
 6       use: {
 7         loader: 'babel-loader',
 8         // options里面的東西可以放到.babelrc文件中去
 9         options: {
10           presets: ['env']
11         }
12       }
13     }

同時要新建一個.babelrc文件

1 配置如下:
2 {
3   "presets":["env"]
4 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM