我是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管理节点包并在前端和后端单独运行测试?做这些事情的优化方法是什么?
提前致谢。
答案 0 :(得分:0)
npm中的-g
标志将全局安装模块 - 这就像grunt
这样的工具作为CLI工具,但对于您的依赖项,您可能只希望将它们安装在您的node_modules
中定义的package.json
文件夹。
您是否正在浏览前端模块?您很可能不希望前端和后端都具有相同的依赖关系,最好将它们分开包装.json清单。您的前端模块是否只是笨拙的任务?在grunt
或frontend
目录中运行backend
将仅在那里调用gruntfile。
将这两个目录分开 - 将来会节省很多麻烦。