配置providePlugin打包成功,执行错误

来源:4-4 文件处理(4)- 处理第三方 JS 库(providePlugin、imports-loader)

一顿吃八个饼

2018-05-08

package.json

{
  "name": "use-webpack",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "autoprefixer": "^8.4.1",
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.4",
    "babel-plugin-lodash": "^3.3.2",
    "babel-plugin-transform-runtime": "^6.23.0",
    "babel-preset-env": "^1.6.1",
    "css-loader": "^0.28.11",
    "cssnano": "^3.10.0",
    "extract-text-webpack-plugin": "^3.0.2",
    "file-loader": "^1.1.11",
    "glob-all": "^3.1.0",
    "images-webpack-loader": "^2.1.0",
    "img-loader": "^3.0.0",
    "less": "^3.0.2",
    "less-loader": "^4.1.0",
    "node-sass": "^4.9.0",
    "postcss": "^6.0.22",
    "postcss-cssnext": "^3.1.0",
    "postcss-loader": "^2.1.4",
    "purifycss-webpack": "^0.7.0",
    "sass-loader": "^7.0.1",
    "style-loader": "^0.21.0",
    "url-loader": "^1.0.1",
    "webpack": "^3.10.0",
    "webpack-cli": "^2.0.15"
  },
  "dependencies": {
    "babel-polyfill": "^6.26.0",
    "babel-runtime": "^6.26.0",
    "jquery": "^3.3.1",
    "lodash": "^4.17.10",
    "lodash-es": "^4.17.10"
  },
  "browserslist": [
    ">= 2%",
    "last 2 versions"
  ]
}

webpack.config.js 的plugins

plugins: [
    new ExtractTextWebpackPlugin({
        filename: '[name].min.css',
        allChunks: false
    }),
    new webpack.ProvidePlugin({
        _: 'lodash'
    }),
    // new webpack.optimize.UglifyJsPlugin(),
]

app.js

console.log(_.defaults({ 'a': 1 }, { 'a': 3, 'b': 2 }))

提示错误

Uncaught TypeError: $export is not a function

http://img.mukewang.com/szimg/5af1a39400012ec309460312.jpg

使用import引入lodash不会报错。注释掉ProvidePlugin的配置后不会报错

写回答

1回答

qbaty

2018-05-14

不明白,为什么你会报执行的错误,你可以console.log(_) 先确定一下你引入的lodash 是否成功

0
0

四大维度解锁Webpack3.0前端工程化

前端开发标配,灵活掌握Webpack3.0的使用可以极大的提高前端开发的效率

1188 学习 · 403 问题

查看课程