从 devDependencies 模块运行 gruntfile

Running gruntfile from devDependencies module

本文关键字:gruntfile 运行 模块 devDependencies      更新时间:2023-09-26

我正在做一些.js框架测试。我在我的package.JSON中,在开发依赖项中:

  "devDependencies": {
    "myFramework": "https://github.com/myRepo/myFramework/tarball/master",
    "grunt": "~0.4.2",
    // etc

这按预期工作并在我的./node_modules/myFramework中安装此框架

这个模块(myFramework)编译了一个我需要的文件。所以它需要运行一个 gruntfile.js 来编译。这些编译的文件将用于我的本地 gruntfile。关于如何做到这一点的任何想法?

我想过使用 npm 脚本,如下所示:

  "scripts": {
    "prepublish": "node node_modules/myFramework/Gruntfile.js",

但是这个例子不起作用。我在myFramework咕噜咕噜的文件里有一个console.log('Test');,没有任何记录......

除了当前所在的存储库之外,您永远不必运行任何 Gruntfile 任务。

就像你的package.json文件一样,每个仓库应该有一个且只有一个Gruntfile.js。

这一点怎么强调都不为过。需要多个 Gruntfile 的场景实际上可以通过使用更简单的设置和基础结构来解决。jQuery在源仓库中有自己的Gruntfile.js这一事实与您的构建流程完全无关。另一个包可以使用 Makefile 或任何其他方法来创建最终产品。您永远不必处理第三方库作者使用哪些工具来生成构建。

阅读更详细的分析:http://thanpol.as/grunt/Managing-large-scale-projects-with-Grunt/

刚刚提出的一个想法是,我可以将编译文件(来自节点模块 gruntfile)的任务复制并粘贴到我的本地 gruntfile 中。当然,更改任务的路径以反映现在文件位于/node_modules/myFramework/

无论如何,我都把这个问题留给大家,以检查是否有另一种(也许更好)的方法。