Rollup-plugin-typescript2: أخطاء في وضع المراقبة للملفات التي ليست من نوع TypeScript

تم إنشاؤها على ٢٣ سبتمبر ٢٠١٧  ·  22تعليقات  ·  مصدر: ezolenko/rollup-plugin-typescript2

أقوم باستيراد ملفات قالب المقاود التي يجب أن تتجاهلها التشخيصات.

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>)

ال 22 كومينتر

هل تقومون باستيرادهم؟ هل يحدث ذلك في تصميم غير متعلق بالساعة؟ هل يمكنك نشر ملف التكوين التراكمي و 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: إضافة شاشة
peek

حسنًا ، أخيرًا استوعبت الأمر ، hiendv هل يمكنك التحقق مما إذا كان المعلم يعمل من أجلك؟

لقد كنت أختبر الفرع الرئيسي لفترة من الوقت. حتى الان جيدة جدا. أعتقد أنها هي. شكرا لك د

لقد مر يومين. كل شيء على ما يرام. أعتقد أنه يمكنك تحرير التصحيح الآن. شكرا لك.

في 0.18.1 الآن

شكرا لك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات