यदि आप जानना चाहते हैं कि किसी निर्देशिका के भीतर, किसी फ़ाइल को कैसे पढ़ा जाए, और उसके साथ कुछ करें, तो आप यहाँ जाएँ। यह आपको यह भी दिखाता है कि कमांड को किस माध्यम से चलाना है power shell
। यह अंदर है TypeScript
! मुझे इससे परेशानी हुई, इसलिए मुझे उम्मीद है कि यह किसी एक दिन मदद करेगा। अगर आपको लगता है कि आप इसे बेहिचक समझेंगे तो मुझे वोट दें। इसने मेरे लिए जो किया वह webpack
मेरी सभी .ts
फाइलों में से प्रत्येक में एक निश्चित फ़ोल्डर में तैनाती के लिए तैयार होने के लिए था। आशा है कि आप इसे उपयोग करने के लिए रख सकते हैं!
import * as fs from 'fs';
let path = require('path');
let pathDir = '/path/to/myFolder';
const execSync = require('child_process').execSync;
let readInsideSrc = (error: any, files: any, fromPath: any) => {
if (error) {
console.error('Could not list the directory.', error);
process.exit(1);
}
files.forEach((file: any, index: any) => {
if (file.endsWith('.ts')) {
//set the path and read the webpack.config.js file as text, replace path
let config = fs.readFileSync('myFile.js', 'utf8');
let fileName = file.replace('.ts', '');
let replacedConfig = config.replace(/__placeholder/g, fileName);
//write the changes to the file
fs.writeFileSync('myFile.js', replacedConfig);
//run the commands wanted
const output = execSync('npm run scriptName', { encoding: 'utf-8' });
console.log('OUTPUT:\n', output);
//rewrite the original file back
fs.writeFileSync('myFile.js', config);
}
});
};
// loop through all files in 'path'
let passToTest = (error: any, files: any) => {
if (error) {
console.error('Could not list the directory.', error);
process.exit(1);
}
files.forEach(function (file: any, index: any) {
let fromPath = path.join(pathDir, file);
fs.stat(fromPath, function (error2: any, stat: any) {
if (error2) {
console.error('Error stating file.', error2);
return;
}
if (stat.isDirectory()) {
fs.readdir(fromPath, (error3: any, files1: any) => {
readInsideSrc(error3, files1, fromPath);
});
} else if (stat.isFile()) {
//do nothing yet
}
});
});
};
//run the bootstrap
fs.readdir(pathDir, passToTest);
path.join(__dirname, 'start.html')