簡體   English   中英

如何使用舊版本的 ember 和 ember-light-table 解決 TypeError?

[英]How can I resolve a TypeError using old version of ember and ember-light-table?

我在https://github.com/ericg-ember-questions/test_computed_sort有測試項目

我通過執行以下操作來設置項目:

節點版本:v12.18.1 (npm v6.14.5)

  1. npm install --save-dev ember-cli@3.4
  2. ./node_modules/.bin/ember 新的 test_computed_sort
  3. cd test_computed_sort/
  4. ./node_modules/.bin/ember 安裝 ember-light-table@1.13.2
  5. ./node_modules/.bin/ember 生成組件test-comp
  6. ./node_modules/.bin/ember 服務

應用程序.hbs

{{test-comp}}

測試comp.hbs

Hello

{{#light-table}}
{{/light-table}}

如果我注釋掉對 light-table 的引用,則不會產生錯誤。 但是,有了它,我在控制台中看到:

media.js:15 Uncaught TypeError: decorator is not a function
    at media.js:15:1
    at Array.reduce (<anonymous>)
    at _applyDecoratedDescriptor (media.js:15:1)
    at Module.callback (media.js:240:1)
    at Module.exports (loader.js:106:1)
    at Module._reify (loader.js:143:1)
    at Module.reify (loader.js:130:1)
    at Module.exports (loader.js:104:1)
    at requireModule (loader.js:27:1)
    at Class._extractDefaultExport (index.js:432:1)

我可以做些什么來解決這個錯誤,以便我可以在這個項目中使用ember-light-table

該錯誤有點暗示這一點,但除非您使用現代 ember,否則它並沒有真正意義——但您使用的是 3.4(感謝提供該信息!!)

您的錯誤中的堆棧實際上非常有幫助,您可以通過以下方法找出問題所在。

我下載了你的復制回購(感謝提供!復制對調試非常有幫助!)

我遇到了與您相同的錯誤: 錯誤截圖,裝飾器不是棧頂函數

這里的關鍵部分是 media.js 參考。 點擊進入我們看到: “”

ember-responsive/services/media文件的編譯版本正在使用裝飾器——您的應用程序中有某個版本的 ember-responsive 具有裝飾器。

我在您的 package.json 中看到您在榿木版本上指定:

    "ember-responsive": "^4.0.2",

此 v4 版本的 ember-responsive 僅支持 ember 3.13 及更高版本。

有點在 ember 響應式 github、 https://github.com/freshbooks/ember-responsive/blob/v3.0.5/config/ember-try.js

我看到 v3 系列的 ember-responsive 支持回到 Ember 2.12——絕對是在支持之前的裝飾器之前。

因此,降級 ember-responsive 並重新啟動應用程序會顯示此錯誤:

"Assertion Failed: [ember-light-table] table must be an instance of Table"

此錯誤記錄在這里: https://github.com/adopted-ember-addons/ember-light-table/issues/726

所以它看起來像一些 API 使用問題。

如果您需要幫助解決這個問題,請隨時發布另一個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM