我已经建立,我想作为一个工作的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没有工作。