以优化的方式管理节点包

时间:2013-08-04 14:40:18

标签: node.js testing npm jasmine

我是Node.js的新手。

每当我想安装软件包时,我都会这样做

"npm install -g package-name"

我在节点应用程序中看到的是已经创建了一个目录“node_modules”,并且所有已安装的模块都在那里。

然后我想使用“grunt”来自动化我的前端javascirpt单元测试的测试。

然后我运行了安装"npm install -g grunt"的命令,但是当我进入我的测试目录并运行grunt时,我得到"Fatal error: Unable to find local grunt."但是如果我将它安装在“test”目录中,它可以正常工作。

我的项目结构如下:

-backend
     -tests
     -model
     -node_modules
     -package.json
     -others
-frontend
     -tests
     -js
     -package.json
     -node_modules
     -others

如何从单个pacakge.json管理节点包并在前端和后端单独运行测试?做这些事情的优化方法是什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

npm中的-g标志将全局安装模块 - 这就像grunt这样的工具作为CLI工具,但对于您的依赖项,您可能只希望将它们安装在您的node_modules中定义的package.json文件夹。

您是否正在浏览前端模块?您很可能不希望前端和后端都具有相同的依赖关系,最好将它们分开包装.json清单。您的前端模块是否只是笨拙的任务?在gruntfrontend目录中运行backend将仅在那里调用gruntfile。

将这两个目录分开 - 将来会节省很多麻烦。