找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1467|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

webpack配置

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:288255 發(fā)表于 2018-3-6 15:53 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
webpack

1.webpack 支持es6 import export ,開箱機(jī)用,但是要使用es6的其他的特性,需要在babel中進(jìn)行配置
2 style-loader, css-loader 打包的css文件會在<style></style>中生成
3. plugins :
        html-webpack-plugin
                 自動生成新的index.html文件
        clean-webpack-plugin
                清除dist目錄內(nèi)容
        WebpackManifestPlugin webpack
                能夠?qū)Α改愕哪K映射到輸出 bundle 的過程」保持追蹤
4.        npm install --save-dev webpack-dev-server
                webpack-dev-server 為你提供了一個(gè)簡單的 web 服務(wù)器,
                并且能夠?qū)崟r(shí)重新加載(live reloading)。
                如果現(xiàn)在修改和保存任意源文件,web 服務(wù)器就會自動重新加載編譯后的代碼
5.使用 webpack-dev-middleware
        webpack-dev-middleware 是一個(gè)中間件容器(wrapper),它將通過 webpack 處理后的文件發(fā)布到一個(gè)服務(wù)器(server)。
6.模塊熱替換 它允許在運(yùn)行時(shí)更新各種模塊,而無需進(jìn)行完全刷新.
        const webpack = require(‘webpack');
        new webpack.NamedModulesPlugin(),
        new webpack.HotModuleReplacementPlugin()
7. npm i --save-dev uglifyjs-webpack-plugin
        能夠刪除未引用代碼(dead code)的壓縮工具(minifier) - UglifyJSPlugin
        source-map
```
        new UglifyJSPlugin({
                        sourceMap: true
              }),
```
8. npm install --save-dev webpack-merge
        merge(base, dev)
9        指定環(huán)境
```
        new webpack.DefinePlugin({
                      'process.env.NODE_ENV': JSON.stringify('production')
            })       
```
10 CommonsChunkPlugin 來移除chunks中重復(fù)的模塊。

11       
```.resolve: {
                    extensions: ['.js', '.vue', '.json'],
                    alias: {
                              'vue$': 'vue/dist/vue.esm.js',
                      '@': resolve('src'),
                    }
          },
```

12.       
```
{
                        test: /\.(png|svg|jpg|gif)$/,
                        loader: 'file-loader',
                        options:{
                                  limit:10000,
                                 name:'img/[name].[hash].[ext]'
                        }
              }
output: {
    filename: 'js/[name].[hash].bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
```
13 npm install --save-dev extract-text-webpack-plugin
```
        {
        test: /\.css$/,
        use: ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: "css-loader"
        }),
        exclude:"/node_modules"
      },

new ExtractTextPlugin({
      filename:"css/[name].[contenthash].css",
      allChunks:true
    }),
```

幾個(gè)入口文件 幾個(gè)css
css 壓縮  use: ["css-loader?importLoaders=1&&minimize",
14 psotcss
        nam  i  psotcss-loader autoprefixer -D

        webpack
```
  {
        test: /\.css$/,
        use: ExtractTextPlugin.extract({
          fallback: "style-loader",
          use: ["css-loader?importLoaders=1","postcss-loader"]
        }),
        exclude:"/node_modules"
      },
```

使用@import引入時(shí)無法加上前綴 使用?importLoaders=1來hack

posts.config.js
```
module.exports = {
  plugins: [
    require('autoprefixer')({
      browsers: ['last 5 versions']
    })
  ]
}
```
15 npm install --save-dev babel-core babel-loader  babel-preset-es2015
```
        {
                test: /\.js$/,
                use:['babel-loader'],
                exclude: "/node_modules"
              }

        .baselrc
        {
          "presets": [
            "es2015"
          ]
        }
```

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表