2

我在更新项目依赖项时遇到了一个非常奇怪的问题。我安装了 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 对其进行调试。我有三个具有相同跟踪的未决承诺:

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 是一个错误修复版本,它不会更改JS 文件中的任何重要内容。
  3. 4.1.2 -> 4.1.3 升级后,唯一的区别yarn.lockbootstrap包的版本,所以不是因为某些Bootstrap的依赖更新造成的。

这种行为的原因是什么?

这是我的package.json 依赖项列表。预先感谢您的帮助。

4

1 回答 1

0

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

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

于 2018-08-08T14:26:43.260 回答