version
पर्यावरण चर के रूप में घोषित करना एक अच्छा विचार है, इसलिए आप इसे अपनी परियोजना में हर जगह उपयोग कर सकते हैं। (विशेष रूप से संस्करण के आधार पर कैश की जाने वाली फ़ाइलों को लोड करने के मामले में e.g. yourCustomjsonFile.json?version=1.0.0
)
सुरक्षा के मुद्दों (@ZetaPR के रूप में उल्लेख किया गया है) को रोकने के लिए हम इस दृष्टिकोण (@sgwatgit की टिप्पणी पर) का उपयोग कर सकते हैं
: संक्षेप में: हम एक yourProjectPit \ PreBuild.js बनाते हैं फ़ाइल। ऐशे ही:
const path = require('path');
const colors = require('colors/safe');
const fs = require('fs');
const dada = require.resolve('./package.json');
const appVersion = require('./package.json').version;
console.log(colors.cyan('\nRunning pre-build tasks'));
const versionFilePath = path.join(__dirname + '/src/environments/version.ts');
const src = `export const version = '${appVersion}';
`;
console.log(colors.green(`Dada ${colors.yellow(dada)}`));
// ensure version module pulls value from package.json
fs.writeFile(versionFilePath, src, { flat: 'w' }, function (err) {
if (err) {
return console.log(colors.red(err));
}
console.log(colors.green(`Updating application version
${colors.yellow(appVersion)}`));
console.log(`${colors.green('Writing version module to
')}${colors.yellow(versionFilePath)}\n`);
});
ऊपर स्निपेट एक नई फ़ाइल बनाएगा /src/environments/version.ts
जिसमें एक स्थिर नाम होता है version
और इसे package.json
फ़ाइल से निकाले गए मान द्वारा सेट किया जाता है ।
PreBuild.json
निर्माण की सामग्री को चलाने के लिए, हम इस फाइल को निम्नलिखित की तरह Package.json
-> "scripts": { ... }"
सेक्शन में जोड़ते हैं । इसलिए हम इस कोड का उपयोग करके प्रोजेक्ट चला सकते हैं npm start
:
{
"name": "YourProject",
"version": "1.0.0",
"license": "...",
"scripts": {
"ng": "...",
"start": "node PreBuild.js & ng serve",
},...
}
अब हम केवल संस्करण आयात कर सकते हैं और इसे जहाँ चाहें उपयोग कर सकते हैं:
import { version } from '../../../../environments/version';
...
export class MyComponent{
...
public versionUseCase: string = version;
}