Javascript 如何使用户能够从cli安装我的测试包?

Javascript 如何使用户能够从cli安装我的测试包?,javascript,node.js,unit-testing,jasmine,Javascript,Node.js,Unit Testing,Jasmine,我为使用jasmine的web应用程序创建了一个小测试程序,我正在准备它,以便轻松下载。在安装我的软件包之前,用户的项目应如下所示: myProject/ app/ lib/ ... 我希望能够在终端中使用用户cd to myProject,发出一个指向app和lib文件夹的命令,然后以以下方式结束: myProject/ app/ lib/ requirejs test/ lib/ node_modules/ specs/ Sp

我为使用jasmine的web应用程序创建了一个小测试程序,我正在准备它,以便轻松下载。在安装我的软件包之前,用户的项目应如下所示:

myProject/
  app/
  lib/
  ...
我希望能够在终端中使用用户cd to myProject,发出一个指向app和lib文件夹的命令,然后以以下方式结束:

myProject/
  app/
  lib/
    requirejs
  test/
    lib/
    node_modules/
    specs/
    SpecRunner.html
    server.js
  ...
app/应该包含js项目文件,lib/应该包含项目的所有外部js依赖项,test/lib/应该包含测试的所有外部依赖项。server.js与nodejs一起运行,并依赖于安装在node_modules/中的应用程序

做这件事最好的方法是什么?我可以制作bash脚本,但我更愿意使用包管理器。我不知道在鲍尔或npm我会怎么做。我是否认为最好有两个LIB,一个用于项目,一个用于测试,而不是一个?我知道我可以在bower中将某些包声明为测试包,但它们似乎应该位于单独的库中

我是否认为最好有两个LIB,一个用于项目,一个用于测试,而不是一个

不。npm诗句中惯用的方法是在
test
文件夹中的同一个包中进行测试。因为bower是基于npm的,所以我认为同样的情况也适用于npm。如果您不希望bower用户必须下载测试内容,您应该能够忽略
bower.json
文件中的测试文件夹(根据)。您还应该将仅用于测试的节点模块指定为
devdependency

想要运行您的测试的开发人员应该使用git clone直接从源代码安装它git@github.com/您的/repo.git(然后只需运行
npm安装
)。或者只需
npm安装x
(如果npm上有)。即使您真的希望测试在自己的包中,我仍然建议不要使用包管理器,而是让开发人员将它从repo克隆到test文件夹中

无论如何,为了回答这个问题,下面的一个班轮应该可以工作(假设npm,我对鲍尔不太熟悉):


您可以使用devdependency。看看这里@Irakli,这不就是将我的库转储到顶级节点_模块中吗?如何将app/和lib/引用分配给package.json中的库?嗯,好的。这个过程比我希望的要长一点,但我想这是不可避免的。谢谢
npm install x-test && mv node_modules/x-test test