我已經建立,我想作爲一個工作的JavaScript /打字稿庫:由於包名稱中的連字符而引起的TypeScript錯誤混淆?
- 無論從JavaScript和打字稿
- 無論從JavaScript和打字稿調用時通過RequireJS訪問的
- 叫當一個全局變量具有完整的單元測試覆蓋範圍
這是使用Webpack打包的UMD,並在此處作爲NPM包部署(https://www.npmjs.com/~typed-contract)。如果你想要我正在研究的分支的全部來源,你可以在這裏找到它https://github.com/randarp/typed-contract/tree/feature/Issue_5.1。
我的問題是,我無法在所有情況下都能正常工作,我的感覺是包名稱中的連字符(即typed-contract)是罪魁禍首。一些例子:
- 在打字稿,\代碼\ TypedContract.Specs \ Contract.TypeScript.requireJS.spec.ts
- 如果我使用進口合同{}的 「類型化合同」然後我單元測試失敗,但WebStorm轉譯器說它是正確的。
- 如果我使用進口合同{}從 「typedcontract」然後我的單元測試通過,但transpiler說錯誤:(4,26)TS2306:文件「C:/Projects/TypedContract/Code/typedcontract.d。 ts'不是一個模塊。
- 我有一個外部NodeJS應用程序來測試這個。在這種情況下:
- 如果我使用進口合同{}從「typedcontract」它按預期工作
- 如果我使用進口合同{}從「typedcontract」它不會加載因爲它無法在node_modules下找到NPM軟件包。
我開始想我需要棄用此包,並開始一個新的沒有連字符,除非有人能提供一些線索,以什麼可怎麼回事,因爲我的「節目通過置換」 ISN沒有工作。