Webpack:未捕获的ReferenceError:vendor_bd98b4ed288c6b156cc9未定义

Lio*_*ion 5 javascript webpack webpack-2 angular

我使用此处描述的yo生成器模板生成一个ASP.NET Core应用程序,其中Angular2作为前端.但随机地,在更改css文件并保存它们(导致Webpack重新加载)后,我在客户端控制台中得到以下异常:

Uncaught ReferenceError: vendor_bd98b4ed288c6b156cc9 is not defined
    at Object.<anonymous> (external "vendor_bd98b4e…":1)
    at __webpack_require__ (bootstrap 4cd8e17…:659)
    at fn (bootstrap 4cd8e17…:83)
    at Object.module.exports (eventsource.js from dll-reference vendor_bd98b4e…:1)
    at __webpack_require__ (bootstrap 4cd8e17…:659)
    at fn (bootstrap 4cd8e17…:83)
    at Object.<anonymous> (main-client.js?v=4atoLMuOmZwmyVdq2ky2bYoBjkmqmVnuPNSIFOD8Qjs:2625)
    at __webpack_require__ (bootstrap 4cd8e17…:659)
    at module.exports (bootstrap 4cd8e17…:708)
    at bootstrap 4cd8e17…:708
Run Code Online (Sandbox Code Playgroud)

dist/main-client.js文件中我找到了以下行:

module.exports = vendor_bd98b4ed288c6b156cc9;

/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {

module.exports = (__webpack_require__(0))(0);
Run Code Online (Sandbox Code Playgroud)

当我删除整个wwwroot/dist文件夹并重建Webpack包时,错误就消失了.然后,随机字符串改变如下:

module.exports = vendor_9dc79ae12948ed5e4b95;
Run Code Online (Sandbox Code Playgroud)

似乎是某种缓存问题.是什么导致这个?

我正在使用Webpack 2.2.1版.

chr*_*389 0

我正在学习教程并遇到了同样的问题。该教程指出,您需要更新 webpack.config.vendor.js 并在添加任何新库后重新运行 webpack

> webpack --config webpack.config.vendor.js
> webpack
Run Code Online (Sandbox Code Playgroud)

为了将来为我提供帮助,我将其放在 script 下的 package.json 中:

"scripts": {
  ... Other scripts ...
  "start": "webpack --config webpack.config.vendor.js && webpack && cross-env ASPNETCORE_ENVIRONMENT=Development dotnet run"
},
"devDependencies":{
   ... Other Dependencies ...
   "cross-env":"^5.0.1"
 }
Run Code Online (Sandbox Code Playgroud)

这是我正在遵循的教程,解释了它http://blog.stevensanderson.com/2016/10/04/angular2-template-for-visual-studio/

希望这可以帮助!