@ngboostrap Bootstrap的JavaScript需要jQuery。在Bootstrap的JavaScript之前,必须包含jQuery。使用的WebPack

问题描述:

当我试图让引导4的WebPack和角度2.工作从我读过这样做是使用NG-引导的最佳方式。@ngboostrap Bootstrap的JavaScript需要jQuery。在Bootstrap的JavaScript之前,必须包含jQuery。使用的WebPack

我已经添加了“@ NG-引导/ NG-引导”,每个指令的jQuery后,我的供应商名单,并把在我app.module.ts文件中的进口。

然而,当我运行应用程序,我得到一个ZoneSymbolError当我在浏览器中运行它。

我保证我webpack.config.vendor.js已经重建等和移动周围的事物产生略有不同的错误,但他们没有正常工作。

有没有任何例子(我找不到)或如何获得ng-bootstrap使用webpack的建议?

编辑:这里是供应商的WebPack区域。

entry: { 
     vendor: [ 
      '@angular/common', 
      '@angular/compiler', 
      '@angular/core', 
      '@angular/http', 
      '@angular/platform-browser', 
      '@angular/platform-browser-dynamic', 
      '@angular/router', 
      '@angular/platform-server', 
      'angular2-universal', 
      'angular2-universal-polyfills', 
      'bootstrap/dist/css/bootstrap.css', 
      '@ng-bootstrap/ng-bootstrap', 
      'es6-shim', 
      'es6-promise', 
      'event-source-polyfill',     
      'zone.js', 
     ] 
    }, 

而这里的错误:

错误:引导的JavaScript需要jQuery的。在Bootstrap的JavaScript之前,必须包含jQuery。在对象的m(http://localhost:5000/dist/vendor.js?v=kFPeLwtbBxRH90pdzruTblX-UHexGi3YXcDeNvhxzsw:1061:2209)。 (http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:1700:9)留在FN(http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:84:20)在Object.options.path(http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:993:1)在对象webpack_requirehttp://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:660:30)在webpack_requirehttp://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:660:30)在FN(http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:84:20)。 (http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:6108:18)维持在module.exports(http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:709:38webpack_requirehttp://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:660:30)在http://localhost:5000/dist/main-client.js?v=RLXNCyPanqpzRmxUCWX-fr4myBJMfSl5_2XrNSlvG-E:712:10

如果我把jQuery的回到它说的jQuery之前必须加载,但它是,它仍然错误。

+0

ng-bootstrap does ** not ** require jQuery。如果你没有显示相关的代码,配置和错误,我们可以做的不多。 –

+0

那么为什么错误会出现呢?我现在能够使用bootstrap 4和ngbootstrap完全删除jquery吗?有没有关于如何将这些东西添加到webpack的文档? –

+0

更新:完全删除的jQuery没有帮助 –

我的长相猜测您正在使用ASP.NET Core/Angular模板的错误。要解决它,我必须从boot-client.ts文件中删除以下行。

import 'bootstrap';

+0

它确实解决了这个问题,但你能解释一下为什么吗? –

+0

我真的不知道为什么那一行在那里。清除它并不是问题。由于它以某种方式从节点模块中获取引导程序,所以在开始时就将其正确导入,就像在Bootstrap中触发另一个错误以要求jQuery一样。 – dandax

要使用从ng-bootstrap小工具你需要jQuery和做需要引导的JavaScript。唯一需要的依赖是在Bootstrap的CSS上。

由于您很可能包含Bootstrap的JavaScript,因此您会收到错误信息。再一次,这不是必需的 - 唯一的依赖是在CSS上。

你可能想看看使用的WebPack的NG-引导演示站点 - 如果你检查its vendor file你会发现,只有引导的CSS中被引用:

import 'bootstrap/dist/css/bootstrap.css'; 
+0

bootstrap已完全从webpack配置中删除。只有ng-bootstrap存在和.css文件。而已。这是特定于webpack的。 –