admin管理员组

文章数量:1394139

I have npm scripts in the package.json, I would like to provide custom parameter from the mand line. I found many stackoverflow questions and answers but none of them works. I tried this solution:

  "scripts": {
    "foo": "echo $npm_config_foo && echo done"
  },

When I run the mand:

$ npm run foo --foo=test

> echo $npm_config_foo && echo done

$npm_config_foo
done

As you can see, it does not echo test.

This is my configuration:

- OS: Windows
- Terminal: GitBash
- npm version: 7.14.0

I tried this, on Linux and it works. This is related to Windows.

I have npm scripts in the package.json, I would like to provide custom parameter from the mand line. I found many stackoverflow questions and answers but none of them works. I tried this solution:

  "scripts": {
    "foo": "echo $npm_config_foo && echo done"
  },

When I run the mand:

$ npm run foo --foo=test

> echo $npm_config_foo && echo done

$npm_config_foo
done

As you can see, it does not echo test.

This is my configuration:

- OS: Windows
- Terminal: GitBash
- npm version: 7.14.0

I tried this, on Linux and it works. This is related to Windows.

Share Improve this question edited May 24, 2021 at 21:03 PierBJX asked May 21, 2021 at 13:02 PierBJXPierBJX 2,3735 gold badges25 silver badges58 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 5

The accepted answer is Great but does not work if the Repo is used by both Windows and Linux Users. If so than I remend to use cross-var (https://www.npmjs./package/cross-var)

Just add it into the beginning of the script (after you added it to your dependencies)

"scripts": {
  "foo": "cross-var echo $npm_config_foo && echo done",
},

The solution is to use % instead of $.

  "scripts": {
     "foo": "echo %npm_config_foo% && echo done",
  },

本文标签: javascriptProvide custom parameters (npmconfig) to npm scripts on WindowsStack Overflow