我开始创建一个本地原因单元测试库,由RSpec的启发(我做了一个F#以前)创建理由封装,具有不同的命名空间名称与NPM包
我想调用库Respect
,但由于已经有一个名为“尊重”的npm包,我将npm库命名为“重新尊重”。但我bsconfig.json
指定我推了包,并从一个测试项目,在这里我引用Respect
命名空间导入它作为respect
{
"name": "Respect",
"version": "0.1.0",
"namespace": true,
"sources": [
{"dir": "src"},
{
"dir": "tests",
"type": "dev"
}
],
"bs-dependencies" : [
// add your bs-dependencies here
]
}
包的名称。我在这个项目这个原因源文件:
open Respect.Dsl;
describe "Foo" [
it "has a test" (fun _ =>())
] |> register;
!rootContext |> run;
与npm run build
正常工作构建代码,但是当我运行测试,我得到的错误:
module.js:529
throw err;
^
Error: Cannot find module 'Respect/lib/js/src/dsl.js'
at Function.Module._resolveFilename (module.js:527:15)
...
的错误是明确的 - npm包安装在node_modules/re-respect
而不是node_modules/Respect
,它试图找到代码。
我在做我不应该做的事吗?我的根名称空间应该遵循NPM包名吗?我需要找到一个新的名字吗?
p.s.在写这篇文章的时候,我意识到package.json和bsconfig.json之间的版本号是有区别的 - 但我怀疑这是问题的根源。