将Bootstrap从4.1.2升级到4.1.3后,Ember项目崩溃

时间:2018-08-07 09:10:38

标签: twitter-bootstrap ember.js yarnpkg ember-bootstrap

在更新项目依赖项时遇到了一个非常奇怪的问题。我已经安装了Bootstrap 4.0.0,并且安装了最新的(4.1.3)版本使我的项目无法使用。呈现页面时出现这些错误:

TypeError: Cannot read property 'commit' of null
    at Environment.commit (vendor.js:22569)
    at Environment.commit (vendor.js:32631)
    at InteractiveRenderer._renderRootsTransaction (vendor.js:34756)
    at InteractiveRenderer._renderRoot (vendor.js:34686)
    at InteractiveRenderer._appendDefinition (vendor.js:34611)
    at InteractiveRenderer.appendOutletView (vendor.js:34599)
    at invokeWithOnError (vendor.js:24513)
    at Queue.flush (vendor.js:24422)
    at DeferredActionQueues.flush (vendor.js:24575)

Uncaught TypeError: Cannot read property 'off' of null
    at Class.teardown (vendor.js:110423)
    at Class.willDestroyElement (vendor.js:110416)
    at Class.trigger (vendor.js:60712)
    at Class.superWrapper [as trigger] (vendor.js:58700)
    at ComponentStateBucket.destroy (vendor.js:35913)
    at SimpleBlockTracker.destroy (vendor.js:18333)
    at SimpleBlockTracker.destroy (vendor.js:18333)
    at SimpleBlockTracker.destroy (vendor.js:18333)
    at SimpleBlockTracker.destroy (vendor.js:18333)
    at UpdatableBlockTracker.destroy (vendor.js:18333)

我试图用Ember Inspector调试它。我的three pending promises具有相同的踪迹:

Ember Inspector (Promise Trace): 
    at new Promise (http://localhost:4200/assets/vendor.js:66433:28)
    at new Enumerator (http://localhost:4200/assets/vendor.js:66009:22)
    at Function.all (http://localhost:4200/assets/vendor.js:66173:12)
    at all$1 (http://localhost:4200/assets/vendor.js:66950:20)
    at Class.sendPending (<anonymous>:801:22)
    at Class.watch (<anonymous>:861:14)
    at sendEvent (http://localhost:4200/assets/vendor.js:37374:18)
    at Class.trigger (http://localhost:4200/assets/vendor.js:52321:33)
    at wrap (<anonymous>:3462:14)

我认为这很奇怪,原因有几个:

  1. 降级到4.1.2后,一切正常。
  2. 4.1.3是一个错误修复版本,which doesn't change anything important在JS文件中。
  3. 在4.1.2-> 4.1.3升级之后,yarn.lock的唯一区别是bootstrap软件包的版本,因此它不是由某些Bootstrap依赖项的更新引起的。

这种行为的原因是什么?

这是我的package.json dependencies list。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我正在通过ember-bootstrap库使用bootstrap 4.1.3,没有问题。我怀疑问题在于引导javascript从node_modules导入到应用程序via ember-cli-boostrap-4中的方式。

您可能应该将ember-cli-bootstrap-4更新到最新版本(0.6.0),以便该插件根据最新版本的引导程序正确导入文件。