未捕获的ReferenceError:未定义require Webpack + AngularJS

时间:2018-11-26 15:41:09

标签: javascript npm webpack require commonjs

像这样的问题有数十个,但没有一个有所帮助,因为根本原因总是我没有做。我正在使用webpack 4.26.1为浏览器制作捆绑包,无论我做什么,在浏览器中打开webapp时,我都会不断得到Uncaught ReferenceError: require is not defined

我没有使用target: 'node'

我不需要webpack-node-externals

我没有明确排除捆绑销售商品。

我没有使用noParse

我什至尝试显式设置target: 'web',尽管这是默认设置,只是为了查看是否有所改变。

这是我的webpack.config.json的全部内容:

const path = require('path');

module.exports = {
  mode: 'production',
  entry: './src/main/webapp/resources/app/template.core.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'src/main/webapp/resources/dist')
  }
};

这是我的package.json

{
  (...)
  "main": "src/main/webapp/template.core.js",
  "dependencies": {
    "angular": "^1.6.10",
    "angular-animate": "^1.6.10",
    "angular-route": "^1.6.10",
    "angular-sanitize": "^1.6.10",
    "angular-upload": "^1.0.13",
    "ui-select": "^0.19.8",
    "angular-ui-bootstrap": "^2.5.0",
    "moment": "2.22.2"
  },
  "devDependencies": {
    "npm": "^5.6.0",
    "webpack": "^4.26.1",
    "webpack-cli": "^3.1.2",
    "jshint": "^2.9.6"
  },
  "scripts": {
    "lint": "jshint src/main/webapp --exclude src/main/webapp/resources/static,src/main/webapp/resources/dist",
    "build": "webpack"
  },
  (...)
}

我在做什么错了?

1 个答案:

答案 0 :(得分:2)

供以后参考,我的问题是基本的,因为html中包含错误的dup,因为由于我的webpack配置,捆绑包的文件名在开发和生产模式下是不同的。我现在使用<script>来生成包含文件,我的模板文件是一个只有注释的空文件,因此除了脚本标记本身之外,它什么都不输出。这是我的html-webpack-plugin中的样子:

webpack.config.js