copy-webpack-plugin

静态文件拷贝

ProvidePlugin

自动加载 可以全局注入依赖

  1. //webpack.config.js
  2. new webpack.ProvidePlugin({
  3. $vue:['vue/dist/vue.esm.js', 'default']
  4. })
  5. //index.js
  6. console.log($vue) //直接全局访问

mini-css-extract-plugin

抽离css 利于缓存

  1. npm install mini-css-extract-plugin -D
  2. //webpack.config.js
  3. const MiniCssExtractPlugin = require('mini-css-extract-plugin')
  4. plugins
  5. new MiniCssExtractPlugin({
  6. filename: 'css/[name].css'
  7. })
  8. module
  9. //注意需要替换
  10. MiniCssExtractPlugin.loader,//替换之前的 style-loader

optimize-css-assets-webpack-plugin

压缩css

  1. const OptimizeCssPlugin = require('optimize-css-assets-webpack-plugin');
  2. new OptimizeCssPlugin();

new webpack.HotModuleReplacementPlugin()

  1. //webpack.config
  2. plugins: [
  3. new webpack.HotModuleReplacementPlugin() //热更新插件
  4. ]
  5. //index.js
  6. if(module && module.hot) {
  7. module.hot.accept()
  8. }

resolve 配置

  1. //webpack.config.js
  2. resolve: {
  3. alias: {
  4. 'react-native': '@my/react-native-web' //这个包名是我随便写的哈
  5. }
  6. }
  7. //index.js
  8. import 'react-native'