【问题标题】:Managing node packages in a optimized way以优化的方式管理节点包
【发布时间】:2023-04-01 00:04:01
【问题描述】:

我是 Node.js 的新手。

每当我想安装一个包时,我都会这样做

"npm install -g package-name"

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

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

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

我的项目结构如下:

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

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

提前致谢。

【问题讨论】:

    标签: node.js testing npm jasmine


    【解决方案1】:

    npm 中的-g 标志将全局安装模块——这就是grunt 之类的东西作为CLI 工具工作的方式,但是对于您的依赖项,您可能只想将它们安装在您的node_modules 文件夹中,在您的package.json 中定义。

    您是否正在浏览您的前端模块?您很可能不希望前端和后端具有相同的依赖项集,最好将它们分开 package.json 清单。您的前端模块只是繁琐的任务吗?在frontendbackend 目录中运行grunt 将只调用那里的gruntfile。

    将这两个目录分开——以后会省去很多麻烦。

    【讨论】:

    • 这有帮助吗?通常使用npm test 运行测试,在 node 中的 package.json 中指定测试脚本,然后为您的前端使用一些构建工具,如 grunt。
    • 它没有帮助,我想从命令行运行两个测试(前端和后端)。
    • 我不确定是什么问题。如果您只是希望它们在同一个命令中,您可以有一个 bash 脚本来轻松调用cd backend && npm test && cd ../frontend && grunt test?目前是什么阻止您进行测试?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2023-03-07
    • 2017-04-17
    • 2022-01-23
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多