2016-11-03 8 views
2

このようなもの、私はバージョン管理を使用して以下のコードをコンパイルしようとしている私のpackage.jsonファイルで:問題は、出力ファイルはNPM環境変数がウィンドウで機能していませんか?

$npm_package_name.$npm_package_version.css 

の代わり

として戻ってくるということです

"scripts" { 
... 
"build:css": "lessc --source-map css/index.less build/$npm_package_name.$npm_package_version.css", 
... 
} 

my-project.1.0.0.css 

私はあなたが行うことができます読んだ

%npm_package_name%.%npm_package_version%.css 

しかし、これは私のために働いていません。

なぜ変数が機能していないのですか?これらの変数はWindowsではまったく機能しますか?もしそうなら、どうすればそれらを機能させることができますか?このpackage.jsonは、Windows 10上で私の作品

+0

何が問題なのですか? –

+0

なぜ変数が動作していないのですか/ Windowsで変数が機能しているのですか?どうすれば動作させるのですか? – aaronmcavinue

+0

で更新されました。 'gulp'を使用し、' package.json'にOS依存スクリプトを置くのではなく、 'process.env'でenv変数を取得するのが最良だと思います。 – BrunoLM

答えて

1

{ 
    "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 

> [email protected] test C:\try\x 
> echo %npm_package_name%.%npm_package_version%.css 

x.1.0.0.css 
+0

ああ、とても役に立ちます。問題は、私がgit bash(unixベース)を使用していて、cmd.exeを使用していないことでした。乾杯! – aaronmcavinue

1

は、クロスプラットフォーム、cross-varを使用するには:

"scripts" { ... "build:css": "cross-var lessc --source-map css/index.less build/$npm_package_name.$npm_package_version.css", ... }

関連する問題