我正在构建一个Angular 7应用程序,当我添加一个包npm install dragula --save
并将其导入到pollyfills.ts
文件中时,我收到此错误:
index.js:2未捕获引用错误:在webpack_require( Bootstrap :83)的对象../node_modules/custom-event/index.js(index.js:2)在webpack_require( Bootstrap :83)的对象../node_modules/crossvent/src/crossvent.js(crossvent.js:3)在webpack_require( Bootstrap :83)的对象../node_modules/dragula/dragula.js(dragula.js:4)在webpack_require( Bootstrap :83)的模块../src/polyfills.ts(polyfills.ts:1)在 webpack_require*( Bootstrap :83)的对象.1(polyfills. ts:92)的位置未定义全局
当我在谷歌上搜索它时,每个人都说要将此(window as any).global = window;
添加到pollyfills.ts
,我已经这样做了,但仍然得到错误。我还准备删除node_modules文件夹和npm i
,我也这样做了。
我不知道在这里还能做什么。谁能告诉我一些建议,或者至少解释一下为什么会发生这种情况?
这可能不相关,但我也要添加它。还有另一个错误,在我将它们导入pollyfills.ts
之前不存在
可折叠组件组.component.ts:9未捕获引用错误:全局未在模块中定义../src/app/components/accordion/accordion-group.component.ts(accordion-group.component.ts:9)位于webpack_require( Bootstrap :83)位于模块中../src/app/components/accordion.module.ts(accordion.component.ts:10)位于webpack_require( Bootstrap :83)位于模块中../src/app/shared/shared.module.ts(窗口.扩展.ts:15)位于webpack_require( Bootstrap :83)位于模块中../src/app/app.module.ts(app.常量.ts:17)位于webpack_require(模块:83)位于 Bootstrap 中../src/main.ts(main.ts:1)位于webpack_require( Bootstrap :83)中
6条答案
按热度按时间snvhrwxg1#
几周前我遇到过类似的问题,当我在polyfills中更改一些设置时,我解决了它。
试试这个设置,让我知道。
也看看你的
app.module.ts
-你进口Dragula的方式好吗?请注意,这应该是应用的主
app.module.ts
,而不是任何子模块或延迟加载模块。hc2pp10m2#
也可以通过添加以下内容来解决
到你的
polyfills.ts
。参考:https://github.com/angular/angular-cli/issues/9827#issuecomment-386154063
00jrzges3#
在我看来,最好的解决方案是将此代码添加到index.html中进行测试
这段代码是为生产而构建的(首先安装Domino ......并安装NPM)
tkclm6bt4#
您是否为浏览器定制了
webpack
配置?在angular.json
中最有可能声明如下:那么
webpack.browser.config.js
可能看起来像这样:从其配置中删除
target: "node"
-它解决了问题。y53ybaqx5#
我还得到了“global not defined”错误。我所要做的就是添加
到\src\index.html(angular的主HTML文件)。但它是不同的包,我在浏览器控制台中得到了错误,所以这可能没有帮助。
liwlm1x96#
我得到了同样的问题在我的一个角项目,我尝试了一些事情。最后我能够解决这个问题。我们只需要添加一行代码index.html文件。检查下面的代码。