【问题标题】:Running npm-scripts on node在节点上运行 npm-scripts
【发布时间】:2016-02-11 15:28:19
【问题描述】:

我正在努力避免在我的项目中使用 Grunt 或 Gulp。我认为替换它们的一个好方法是使用 npm-scripts。

我知道 npm-scripts 利用了package.json,但我注意到要运行更高级的构建过程,您需要包含命令行功能。但是,这不是一个跨平台的解决方案,因为 Windows 不支持 Linux 等操作系统支持的各种命令。

所以,我想知道您是否可以只在 Node 上运行 npm-scripts,然后使用 require 语句引用您想要的任何 npm 包。

这可能吗?如果没有,除了 Grunt 和 Gulp 之外,对于 npm-scripts 是否存在任何好的跨平台解决方案?

【问题讨论】:

标签: javascript node.js scripting npm


【解决方案1】:

是的,您可以在节点上运行“npm-scripts”。例如,我的package.json 中有这个(为了清楚起见,删除了不相关的部分),rimrafwebpack 都是用纯 JS 实现并由 node.js 解释的。事实上rimraf 是跨平台rm -Rf 的一个很好的例子。只需发出npm run-script build,此解决方案就可以在 windows、mac 或 linux 机器上正常运行。

{
    "scripts": {
       "build": "rimraf dist && webpack --config ./blah.js"
    },
    "devDependencies": {
        "rimraf": "^2.5.0",
        "webpack": "^1.12.10"
    }
}

或者你可以这样做:

"scripts": {
    "hello": "node hello"
}

并在与package.json 相同的目录中在hello.js 中实现您想要的所有内容,并在该脚本中包含您需要的任何内容,例如:

const hello = require("debug")("hello"); // require whatever module you need
console.log("hello world");

使用npm run-script hello 可以正常运行

> your-module@1.0.0 hello D:\dev\tmp
> node hello

hello world

【讨论】:

  • 见鬼,太棒了。
【解决方案2】:

我只会坚持使用 webpack 和 npm。使用 webpack 比编写自定义的 grunt 或 gulp 任务要简单得多,开发服务器将提供一个稳定的本地环境来工作,而且它只是一个配置设置,你是金子。我也将不再使用全局安装,特别是如果您在团队环境中工作或正在运行持续交付。因为您将无法在任何这些环境中控制全局安装或安装版本。

【讨论】:

    猜你喜欢
    • 2016-05-17
    • 2016-03-24
    • 2020-06-29
    • 2019-01-23
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多