说我有以下tsconfig.json
"compilerOptions": {
"baseUrl": "src",
"paths": {
"app/*": ["src/*"],
}
...
我具有以下文件夹结构
src/
content/
numbers.csv
long/
folder/
path/
to/
file.ts
现在我想使用fs.readFileSync
来阅读numbers.csv
。但是我不想做类似fs.readFileSync(path.normalize(__dirname + '../../../../content/numbers.csv))
的事情。我宁愿做类似fs.readFileSync('app/content/numbers.csv')
的事情。
在Typescript中可以吗?
答案 0 :(得分:3)
我很确定,无法为您的目的编辑tsconfig。
var id_array = ["prayag@cybrosys.in","blockchain@cybrosys.net"];
var no_array = ["1","2"];
var mailer = require("nodemailer");
// Use Smtp Protocol to send Email
var smtpTransport = mailer.createTransport({
service: "Gmail",
auth: {
user: "mymail@gmail.com",
pass: "mypassword"
}
});
let emailPromiseArray = [];
//prepare the email for each receiver
for(let i=0;i<id_array.length;i++){
emailPromiseArray.push(
sendMail({
from: "Sachin Murali <blockchain@cybrosys.net>",
to: id_array[i],
subject: "Sachin's Test on new Node.js project",
text:no_array[i]
})
)
}
//run the promise
Promise.all(emailPromiseArray).then((result)=>{
console.log('all mail completed');
}).catch((error)=>{
console.log(error);
})
function sendMail(mail){
return new Promise((resolve,reject)=>{
smtpTransport.sendMail(mail, function(error, response){
if(error){
console.log(error);
reject(error);
}else{
console.log("Message sent: " + JSON.stringify(response));
resolve(response);
}
smtpTransport.close();
});
})
}
文件用于将ts代码传输(编译)为js代码,而后来的(js代码)则是nodejs所追求的。 tsconfig.json
选项向ts编译器提供有关ts文件的信息(等待编译),ts编译器无法决定如何传输paths
行。
您可以使用fs.readFileSync(YOUR_PATH)
或其他方法来避免这么长的路径:
process.cwd()