এনপিএম (এবং সুতা) প্যাকেজ.জসন থেকে পরিবেশের ভেরিয়েবল হিসাবে স্ক্রিপ্টগুলিতে প্রচুর ডেটা পাস করে । npm run env
তাদের সব দেখতে ব্যবহার করুন । এটি https://docs.npmjs.com/misc/scriptts#en পরিবেশে নথিভুক্ত এবং এটি কেবল "লাইফসাইकल" স্ক্রিপ্টগুলির জন্য নয়, prepublish
তবে কোনও স্ক্রিপ্ট দ্বারা কার্যকর করা হয়npm run
।
আপনি এই অভ্যন্তরীণ কোডটি অ্যাক্সেস করতে পারেন (যেমন process.env.npm_package_config_port
জেএস তে) তবে সেগুলি ইতিমধ্যে স্ক্রিপ্টগুলি চালিত শেলের জন্য উপলভ্য যাতে আপনি এগুলি হিসাবে অ্যাক্সেস করতে পারেন$npm_...
"স্ক্রিপ্টস" (ইউনিক্স সিনট্যাক্স, উইন্ডোতে কাজ নাও করতে পারে) এর আকার ।
"কনফিগ" বিভাগে এই ব্যবহারের জন্য দেয়ার উদ্দেশ্যে মনে হচ্ছে:
"name": "myproject",
...
"config": {
"port": "8010"
},
"scripts": {
"start": "node server.js $npm_package_config_port",
"test": "wait-on http://localhost:$npm_package_config_port/ && node test.js http://localhost:$npm_package_config_port/"
}
এই "কনফিগারেশন" ক্ষেত্রগুলির একটি গুরুত্বপূর্ণ গুণটি হ'ল ব্যবহারকারীরা প্যাকেজ.জেসন পরিবর্তন না করে সেগুলি ওভাররাইড করতে পারে !
$ npm run start
> myproject@0.0.0 start /home/cben/mydir
> node server.js $npm_package_config_port
Serving on localhost:8010
$ npm config set myproject:port 8020
$ git diff package.json # no change!
$ cat ~/.npmrc
myproject:port=8020
$ npm run start
> myproject@0.0.0 start /home/cben/mydir
> node server.js $npm_package_config_port
Serving on localhost:8020
দেখুন npm কনফিগ এবং সুতা কনফিগ ডক্স।
এটি প্রদর্শিত হয় যে সুতাটি ~/.npmrc
এতটা npm config set
উভয়কেই প্রভাবিত করে, তবে yarn config set
লিখেছেন ~/.yarnrc
, তাই কেবল সুতা এটি দেখতে পাবে :-(