উত্তর:
require('./package.json')একটি ঘড়ি প্রক্রিয়া জন্য ব্যবহার করবেন না । ব্যবহারের requireফলে প্রথম অনুরোধের ফলাফল হিসাবে মডিউলটি সমাধান করা হবে। সুতরাং আপনি যদি আপনার প্যাকেজটি সম্পাদনা করছেন তবে আপনি যদি আপনার ঘড়ি প্রক্রিয়া বন্ধ না করে পুনরায় আরম্ভ না করেন তবে এই সম্পাদনাগুলি কাজ করবে না। গাল্প ওয়াচ প্রক্রিয়াটির জন্য বিটলিংয়েস্টের পদ্ধতিটি ব্যবহার করা ভাল হবে কারণ এটি ফাইলটি পুনরায় পড়বে এবং প্রতিবার আপনার কার্য সম্পাদন করার সময় পার্স করবে।
var fs = require('fs');
var json = JSON.parse(fs.readFileSync('./package.json'));
requireএবং এর সাথে ক্যাশে অপসারণ করা সম্ভবdelete require.cache[require.resolve(FILEPATH)];
এটি গুল্প নির্দিষ্ট নয়।
var p = require('./package.json')
p.homepage
হালনাগাদ:
সচেতন থাকুন যে "প্রয়োজনীয়" পড়ার ফলাফলগুলি ক্যাশে করবে - এর অর্থ আপনার প্রয়োজন হয় না, ফাইলটিতে লিখতে পারেন, তারপরে আবার প্রয়োজনীয় প্রয়োজন এবং ফলাফল আপডেট হওয়ার প্রত্যাশা করেন।
এটি ম্যাঙ্গলেড ডিউটজ একটি ভাল সমাধান। আমি নিজেই প্রথমে এটি করেছি কিন্তু এটি কার্যকর হয়নি (এক সেকেন্ডে ফিরে) তবে আমি এই সমাধানটি চেষ্টা করেছিলাম:
# Gulpfile.coffee
requireJSON = (file) ->
fs = require "fs"
JSON.parse fs.readFileSync file
এখন আপনার দেখতে হবে যে এটি কিছুটা ভার্বোজ (যদিও এটি কাজ করে)। require('./package.json')সবচেয়ে ভাল সমাধান:
ফাইলের নামের সামনে './' যুক্ত করতে -আমরবার। আমি এর সহজ জানি, তবে এটি প্রয়োজনীয় পদ্ধতিতে কাজ করা এবং কাজ না করার মধ্যে পার্থক্য।
আপনি যদি এনপিএম থেকে ঝাঁকুনির ট্রিগার করছেন, যেমন " এনপিএম রান বিল্ড " বা অন্য কোনও কিছু ব্যবহার করা
(এটি কেবল এনপিএম দ্বারা চালিত ট্রলারের জন্য কাজ করে)
process.env.npm_package_ অবজেক্ট
এটি গভীর বস্তুর জন্য আন্ডারস্কোর দ্বারা পৃথক করা উচিত।
আপনি যদি প্যাকেজ.জসনে কিছু নির্দিষ্ট কনফিগারেশন পড়তে চান তবে আপনি প্যাকেজ.জসনে তৈরি কনফিগার সামগ্রীটি পড়তে চান
scripts : {
build: gulp
},
config : {
isClient: false.
}
তাহলে আপনি ব্যবহার করতে পারেন
process.env.npm_package_**config_isClient**