أقوم باستيراد ملفات قالب المقاود التي يجب أن تتجاهلها التشخيصات.
Error: Could not find file: '/Users/mohamed/project/src/Views/Shared/spaces.hbs'.
at getValidSourceFile (/Users/mohamed/project/node_modules/typescript/lib/typescript.js:91281:23)
at Object.getSyntacticDiagnostics (/Users/mohamed/project/node_modules/typescript/lib/typescript.js:91504:52)
at /Users/mohamed/project/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:629:74
at /Users/mohamed/project/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:325:80
at arrayEach (/Users/mohamed/project/node_modules/rollup-plugin-typescript2/node_modules/lodash/lodash.js:537:11)
at Function.forEach (/Users/mohamed/project/node_modules/rollup-plugin-typescript2/node_modules/lodash/lodash.js:9359:14)
at TsCache.walkTree (/Users/mohamed/project/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:325:9)
at Object.ongenerate (/Users/mohamed/project/node_modules/rollup-plugin-typescript2/dist/rollup-plugin-typescript2.cjs.js:628:17)
at bundle.plugins.forEach.plugin (/Users/mohamed/project/node_modules/rollup/dist/rollup.js:10507:16)
at Array.forEach (<anonymous>)
هل تقومون باستيرادهم؟ هل يحدث ذلك في تصميم غير متعلق بالساعة؟ هل يمكنك نشر ملف التكوين التراكمي و tsconfig.json؟
أقوم باستيرادها على النحو التالي:
import template from '../Views/Shared/ads.hbs';
مع إعلان في مكان آخر:
declare module '*.hbs' {
export default function (context: any): string;
}
لا يحدث ذلك في تصميم غير متعلق بالساعة.
rollup.config.js:
import commonjs from 'rollup-plugin-commonjs';
import handlebars from 'rollup-plugin-handlebars-plus';
import json from 'rollup-plugin-json';
import resolve from 'rollup-plugin-node-resolve';
import rootImport from 'rollup-plugin-root-import';
import typescript from 'rollup-plugin-typescript2';
import uglify from 'rollup-plugin-uglify';
const partialRoot = `${__dirname}/src/Views/Shared`;
export default {
output: {
format: 'iife'
},
plugins: [
typescript({ clean: true }),
json(),
resolve(),
commonjs(),
rootImport({ root: partialRoot }),
handlebars({
helpers: '../../ts/handlebars',
partialRoot: partialRoot,
isPartial: () => true
}),
uglify()
]
}
tsconfig.json
{
"compilerOptions": {
"downlevelIteration": true,
"lib": [
"dom",
"dom.iterable",
"es2017"
],
"moduleResolution": "node",
"noImplicitReturns": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"strict": true,
"target": "es5"
}
}
أنا أميل إلى إلقاء اللوم على هذا المكون الإضافي للمقاود ، لكن بمجرد النظر إلى الكود لا يمكنني معرفة سبب فشلها بهذه الطريقة. هل من الممكن تقليل المشكلة إلى ريبو صغير قائم بذاته؟
من تتبع المكدس ، يبدو أن مكتبة TypeScript لا تتعرف عليها كملف مصدر صالح (وهو ليس كذلك). ربما يمكنك تخطي ملفات غير TypeScript عند المشي على الشجرة؟ سأحاول الخروج بمثال أصغر.
نعم ، لقد تخطيت بالفعل الملفات التي لا تحتوي على نص مكتوب بشكل افتراضي ، ولكن هذا محاولًا تحليل ملف مضغوط ولا يتم العثور على أحد الواردات. تلتقط كل ساعة حول البرنامج المساعد تشخيصات لجميع ملفات الكتابة المطبوعة ، وليس فقط تلك التي تم تعديلها في تلك الجولة. من المحتمل أن يكون لهذا علاقة بالخطأ. هل يوجد spaces.hbs
في هذا المسار بشكل طبيعي ، أم أن هذه الأداة عبارة عن قطعة أثرية؟
تؤدي إضافة امتداد .ts
إصلاحه:
helpers: '../../ts/handlebars.ts',
لست متأكدًا من سبب حدوث ذلك في وضع المشاهدة فقط. لقد قمت بإنشاء ريبو صغير. استخدم npm run build
أو npm run watch
.
لا يمكن التكاثر في الريبو الخاص بك. فعل npm install
ثم npm run watch
(بناء ناجح) ، وتعديل main.ts ومشاهدة قامت ببناء ناجح آخر. يعمل تقديم خطأ وإصلاحه أيضًا على النحو المتوقع. يعمل تشغيل الساعة بعد البناء أيضًا.
عند التشغيل على نظام التشغيل windows ، لم يكن لدى package.json
مجموعة من الحروف المطبوعة ، لذلك اختار الإصدار 2.5.2 المثبت مع vscode.
هل هناك شيء محدد أحتاج إلى القيام به لتشغيله؟
لم يكن المكون الإضافي للمقاود يعمل على Windows افتراضيًا ، ويبدو أن هناك خطأ فيه. لقد قمت بتعديل الريبو لتجاوز ذلك والآن يجب أن تكون قادرًا على إعادة إنتاجه.
هيه ، أنت محق ، لقد كان يحاول تحميل وتحليل ملف .hbs.
جرب الآن مع الفرع الرئيسي
حسنًا ، نعم يبدو الأمر جيدًا الآن: د
حسنًا ، أواجه مشكلة في مكونات Vue. هذا هو تتبع المكدس.
[!] (rpt2 plugin) Error: Could not find file: '/my/path/src/components/Dashboard.vue?rollup-plugin-vue=script.ts'.
Error: Could not find file: '/my/path/src/components/Dashboard.vue?rollup-plugin-vue=script.ts'.
at getValidSourceFile (/my/path/node_modules/typescript/lib/typescript.js:114851:23)
at Object.getSyntacticDiagnostics (/my/path/node_modules/typescript/lib/typescript.js:115044:52)
at cache.walkTree (/my/path/node_modules/rollup-plugin-typescript2/src/index.ts:282:43)
at lodash_2 (/my/path/node_modules/rollup-plugin-typescript2/src/tscache.ts:174:61)
العقدة: v10.13.0
مطبوعة: v3.1.6
ونعم ، فقط في وضع المشاهدة.
hiendv هل تستخدم أحدث إصدارات البرنامج المساعد vue وهذا البرنامج المساعد؟
أجل أقبل.
ربما يكون غير ذي صلة ولكني أحاول لا يعمل بعد فترةallowNonTsExtensions
ويظل هادئًا لفترة من الوقت: /
hiendv هل يمكنك عمل الحد الأدنى من الريبو باستخدام الاستنساخ؟
أنا أعمل عليه ولكنه صعب نوعًا ما بسبب الظهور العشوائي للخطأ.
ezolenko @ ezolenko2 هل يمكنك إلقاء نظرة على هذا؟ شكرا. https://github.com/hiendv/rpt2-vue-issue-32
تحرير 1: إضافة شاشة
حسنًا ، أخيرًا استوعبت الأمر ، hiendv هل يمكنك التحقق مما إذا كان المعلم يعمل من أجلك؟
لقد كنت أختبر الفرع الرئيسي لفترة من الوقت. حتى الان جيدة جدا. أعتقد أنها هي. شكرا لك د
لقد مر يومين. كل شيء على ما يرام. أعتقد أنه يمكنك تحرير التصحيح الآن. شكرا لك.
في 0.18.1 الآن
شكرا لك.