【问题标题】:How can I run npm script on Windows if command is in an external file如果命令在外部文件中,我如何在 Windows 上运行 npm 脚本
【发布时间】:2016-07-20 19:18:13
【问题描述】:

我有以下package.json 文件:

{
  "name": "bytemonster",
  "version": "1.0.0",
  "description": "simple npm build scss",
  "main": "index.js",
  "scripts": {
    "build-css": "node-sass --include-path scss scss/main.scss public/css/main.css",
    "build-css2": ".\bin\builditcss"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "node-sass": "^3.6.0"
  }
}

我正在使用 Windows。当我运行npm run build-css 时,一切都运行文件。但是,运行 npm run build-css2 会引发错误。

在与我的package.json 文件相同的目录中,我创建了一个bin 文件夹并在该bin 文件夹中创建了一个builditcss 文件。我的 builditcss 文件包含与我的 package.json 中的 build-css 脚本命令相同的命令:

node-sass --include-path scss scss/main.scss public/css/main.css

如果我的 npm 命令位于我的 package.json 文件之外,如何在 Windows 上成功运行 npm run build-css2

我知道 Windows 使用 cmd 而不是 bash,我想知道如何使用。我知道有更好的方法来处理这个问题,但我正在寻找一个 cmd 唯一的解决方案。

【问题讨论】:

    标签: windows cmd npm


    【解决方案1】:

    我现在明白为什么我不能运行npm run build-css2。这是因为我试图执行一些应该在命令行界面上而不是作为脚本的东西。我应该创建一个 .js 文件,其中包含

    行的代码
    var sass = require('node-sass');
    sass.render({
      file: scss/main.scss,
      [, options..]
    }, function(err, result) { /*...*/ });
    

    然后我可以使用节点来运行该脚本。我什至可以创建一个包含“node [script_name]”的 .bat、.cmd 或 .sh 文件,然后在命令提示符或终端上运行它。

    【讨论】:

      【解决方案2】:

      安装 GIT,然后使用 GIT-Bash。

      【讨论】:

      • 我一直在寻找创建 .cmd.bat 文件的答案,但现在意识到这个问题与 GIT-Bash 无关。由于缺乏理解,这是我遇到的节点 npm 问题。
      猜你喜欢
      • 2023-01-17
      • 2019-12-17
      • 1970-01-01
      • 2019-06-07
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 2021-07-22
      • 2013-07-01
      相关资源
      最近更新 更多