webpack4 打包

1. 基本安裝及命令html

npm config set registry https://registry.npm.taobao.org     //  淘寶鏡像
npm install webpack-cli -g   //  安裝以後才能  webpack  -vjquery

webpack index.js -o out.js     // 打包指定文件  指定輸出路徑及名稱
webpack --mode development index.js -o out.js   //  指定打包方式爲開發模式(默認爲產品模式:去除console命令及其餘未引用代碼)webpack

( src - dist  4.0版本默認不需配置《代碼資源放置在src,生成的代碼資源放置在dist 》,但也能夠增長配置文件 webpack.config.js )web

經常使用的 webpack.config.jsnpm

var path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js', 
    path: path.resolve(__dirname, 'out')
  }
};
View Code

webpack --mode development  // 只用 webpack,則默認爲 production 模式,去除多餘部分及調試提示ide

2. 合併打包ui

var path = require('path');

module.exports = {
  entry: ['./src/a.js','./src/b.js','./src/c.js'],
  output: {
    filename: 'bundle.js', 
    path: path.resolve(__dirname, 'out')
  }
};
View Code

3. 分塊打包url

var path = require('path');

module.exports = {
  entry: {
      a:'./src/a.js',
      b:'./src/b.js',
      c:'./src/c.js'
  },
  output: {
    filename: '[name].build.js', 
    path: path.resolve(__dirname, 'out')
  }
};
View Code

4. 配置屬性爲開發模式  mode: developmentspa

5.url-loader 處理小圖片.net

npm init

npm install url-loader --save

npm install file-loader --save  // 圖片尺寸超過限制時使用

var path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js', 
    publicPath: './out/', // 最後的 / 不可少,兩個 out 對應,確保 生成的大文件圖片路徑正確
    path: path.resolve(__dirname, 'out')
  },
  mode:'production',
  module: {
    rules: [
      {
        test: /\.(png|jpg|gif)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 8192
            }
          }
        ]
      }
    ]
  }
};
View Code

6. 引入 jquery     expose-loader 

npm install expose-loader --save-dev

npm install jquery --save 

var path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js', 
    publicPath: './out/', // 最後的 / 不可少,兩個 out 對應,確保 生成的大文件圖片路徑正確
    path: path.resolve(__dirname, 'out')
  },
  mode:'production',
  module: {
    rules: [
      {
        test: /\.(png|jpg|gif)$/,
        use: [
          {
            loader: 'url-loader',
            options: {
              limit: 8192
            }
          }
        ]
      },
      {
        test: require.resolve('jquery'),
        loader: 'expose-loader?jQuery!expose-loader?$!expose-loader?scrollable'
      }
    ]
  }
};
View Code

使用  import $ from 'expose-loader?$!jquery';

 

 

相關連接:

loaders

webpack 踩坑

webpack:使用expose-loader 解決第三方庫的插件依賴問題

webpack4導入jQuery的新方案

相關文章
相關標籤/搜索