美文网首页
webpack.[2,3,4,5,9]

webpack.[2,3,4,5,9]

作者: 小棋子js | 来源:发表于2019-12-23 00:05 被阅读0次

    webpack2

    1.创建webpack-demo
    2.npm init -y
    3.npm i webpack webpack-cli -D
    4.根目录下创建一个 config>webpack.config.js 文件和一个src> main.js 文件
    然后打开 webpack.config.js ,进行webpack的配置:

    const path = require('path')
    
    let config = {
      mode: 'none',
      entry: {
        main: path.join(__dirname, './src/main.js')
      },
      output: {
        filename: '[name].bundle.js',
        path: path.join(__dirname, './dist')
      }
    }
    
    module.exports = config
    

    接下来打开 package.json 文件,来编写一条命令执行webpack的打包。在 script 中添加:

    "build": "webpack --config config/webpack.config.js --progress --colors"
    

    webpack3

    npm install --save-dev html-webpack-plugin //自动生成html文件
    npm install clean-webpack-plugin --save-dev //清理dist文件
    

    在webpack.config.js 中使用:

    const HtmlWebpackPlugin = require('html-webpack-plugin')
    const { CleanWebpackPlugin } = require('clean-webpack-plugin');
    
    

    在 plugins 中加入:

    new CleanWebpackPlugin(),
    new HtmlWebpackPlugin({
          template: path.join(__dirname, '../index.html'),
          inject: true,
          minify: {
            removeComments: true
          },
          hash: true
        })
    

    webpack4&5

    webpack 无法解析 .ejs 文件,因此我们需要安装对应的 loader:
    webpack 无法解析 .css 文件,因此安装 css-loader 和 style-loader:
    webpack 无法解析 img 文件,因此安装对应的 loader
    webpack 无法解析 less文件,因此安装 less-loader:

    npm i ejs-loader -D
    npm i css-loader style-loader -D
    npm i url-loader file-loader -D
    npm i less-loader -D
    

    并修改 webpack.config.js 添加 module 属性:

    module: {
        rules: [
          {
            test: /.ejs$/,
            use: ['ejs-loader']
          },
          {
            test: /.css$/,
            use: [
              'style-loader',
              'css-loader'
            ]
          },
          {
            test: /.(jpg|jpeg|png|gif|svg)$/,
            use: 'url-loader'
          },
         {
            test: /\.less$/,
            use: [
              'style-loader',
              'css-loader',
              'less-loader'
            ]
          }
        ]
      },
    

    webpack9

    webpack-dev-server是一个简单的小型的web服务器,并且能够实时重载,配置也很简单,首先安装:

    npm install --save-dev webpack-dev-server
    npm install --save-dev cross-env
    npm run dev
    

    构建生产环境;我们先从安装 webpack-merge 开始,用来合并webpack配置项:

    npm install --save-dev webpack-merge
    

    webpack.config.js配置生产环境跟开发环境的url输出

    const webpack = require('webpack')
    plugins: [
    new webpack.DefinePlugin({
              'process.env': {
              NODE_ENV : isDev ? '"www.development.com"' : '"www.production.com"'
          }
        })
    ]
    

    修改package.json的命令:

    "dev": "cross-env NODE_ENV=development webpack-dev-server --config config/webpack.dev.js",
    "build": "cross-env NODE_ENV=production webpack --config config/webpack.build.js --progress --inline --colors"
    

    页面main.js获取值

    console.log(process.env.NODE_ENV)
    

    相关文章

      网友评论

          本文标题:webpack.[2,3,4,5,9]

          本文链接:https://www.haomeiwen.com/subject/vwpanctx.html