جافاسكريبت - grunt-typescript لا يُنتج ملفات JS في المجلد المحدد `dest`
لدي بنية الدليل التالية :
root
|
|_ package.json
|_ Gruntfile.js
|
|_ javascripts/
|_ ts/file.ts
في ملف Grunt لدي هذا:
//Project Config
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
typescript: {
base: {
src: ['./javascripts/ts/*.ts'],
dest: './javascripts/'
}
}
});
أتوقع أن تكون ملفات js في دليل javascripts/. ومع ذلك، عندما أقوم بتشغيل grunt typescript، فإنه ينشئ هيكل دليل غريب بهذا الشكل:
root
|
|_ package.json
|_ Gruntfile.js
|
|_ javascripts/
|_ ts/file.ts
|_ javascripts/
|_ ts/
|_ file.js
أتوقع أن يظهر الملف file.js المترجم في دليل javascripts/ الأصلي. لماذا هذا؟ ماذا يجب أن أكتب للحصول على ملفات .js المترجمة في المجلد المطلوب؟
الإجابة رقم 1
رؤية النتائج جعلتني أفترض أن ما يلي سيعمل:
typescript: {
base: {
src: ['./javascripts/ts/*.ts'],
dest: '../../javascripts/'
}
}
شخصياً قمت بتأليف وصيانة grunt-ts : https://npmjs.org/package/grunt-ts
الإجابة رقم 2
خيار آخر هو الاستفادة من إعداد base_path:
//Project Config
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
typescript: {
base: {
src: ['./javascripts/ts/*.ts'],
dest: './javascripts/',
options: {
base_path: './javascripts/ts'
}
}
}
});
