在我的package.json文件中,我试图使用版本控制来编译更少的代码,如下所示:
"scripts" {
...
"build:css": "lessc --source-map css/index.less build/$npm_package_name.$npm_package_version.css",
...
}
问题是输出文件以
的形式返回$npm_package_name.$npm_package_version.css
而不是
my-project.1.0.0.css
我已经知道你可以做到
%npm_package_name%.%npm_package_version%.css
但这对我没用。
任何人都知道变量为什么不起作用?这些变量在Windows中是否完全有效?如果是这样,我如何让它们工作?
答案 0 :(得分:1)
要使其跨平台,请使用cross-var
:
"scripts" {
...
"build:css": "cross-var lessc --source-map css/index.less build/$npm_package_name.$npm_package_version.css",
...
}
答案 1 :(得分:0)
这个package.json适用于Windows 10:
{
"name": "x",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "Unlicense"
}
但请注意,环境变量替换发生在NPM回显之后,因此输出如下所示:
C:\try\x>npm test
> x@1.0.0 test C:\try\x
> echo %npm_package_name%.%npm_package_version%.css
x.1.0.0.css