मैं "गलत" त्रुटियों की एक बहुत कुछ मिल रहा है कर सकते हैं कहते हैं। यहाँ प्रासंगिक gulp task
है:टाइपप्रति संकलक यह @angular मॉड्यूल नहीं मिल रहा है, लेकिन संकलित जब मेरे <code>gulp</code> कार्य मेरी टाइपप्रति संकलित ठीक
var tsProject = typescript.createProject('tsconfig.json', {noResolve: true});
gulp.task('build-ts', function() {
gulp.src(appDev + '**/*.ts')
.pipe(sourcemaps.init())
.pipe(typescript(tsProject))
.pipe(sourcemaps.write())
//.pipe(jsuglify())
.pipe(gulp.dest(appProd));
gulp.src(appDev + '**/*.+(html|css)')
.pipe(gulp.dest(appProd));
});
और इन त्रुटियों को मैं कर रहे हैं:
[09:38:52] Starting 'default'...
[09:38:52] Finished 'default' after 8.88 ms
ng/app.component.ts(1,27): error TS2307: Cannot find module '@angular/core'.
ng/app.component.ts(5,12): error TS2304: Cannot find name 'module'.
ng/app.module.ts(1,26): error TS2307: Cannot find module '@angular/core'.
ng/app.module.ts(2,31): error TS2307: Cannot find module '@angular/platform-browser'.
ng/app.module.ts(3,31): error TS2307: Cannot find module '@angular/common'.
[...]
[09:38:53] TypeScript: 27 semantic errors
[09:38:53] TypeScript: emit succeeded (with errors)
[BS] Proxying: http://0.0.0.0:5000
मेरे वृक्ष संरचना इस तरह दिखता है (सरलीकृत):
.
├── gulpfile.js
├── ng
├── node_modules
├── package.json
├── tsconfig.json
├── typings.json
└── web
सभी मॉड्यूल टाइपप्रति संकलक वास्तव में node_modules
में खोजने में विफल रहता है और मेरी अंतिम एप्लिकेशन सभी त्रुटियों के बावजूद ठीक काम करती है।
यह मेरा tsconfig.js
:
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"outDir": "./app"
},
"filesGlob": [
"./app/**/*.ts",
"!./node_modules/**/*.ts"
],
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
],
"atom": {
"rewriteTsconfig": true
}
}
मैं कैसे इन "झूठी सकारात्मक" त्रुटियों से छुटकारा पा सकते।
मुझे लगता है कि टाइपप्रति संकलन करने के लिए पारित कर दिया फ़ाइलों के साथ एक समस्या है। एक तरफ, आप अपनी 'ऐपडेव' फाइलें पास करते हैं और 'नो रेसोल्व' सेट करते हैं। दूसरी तरफ आपके 'tsconfig' में एक अलग कॉन्फ़िगरेशन है। (सावधानी: फ़ाइलें और बाहर निकालने के लिए एक साथ काम नहीं है और भी अपने tsconfig घूंट द्वारा फिर से लिखा नहीं है!) आप typings के संकल्प के साथ समस्या है, तो आप टाइपप्रति संकलक मंगलाचरण के लिए 'traceResolution' झंडा जोड़ सकते हैं। आपको कुछ संकेत देना चाहिए। https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Module%20Resolution.md#tracing-module-resolution देखते हैं। –
तुम भी 'noResolve' विकल्प आपको गुजर रहे हैं पर एक नजर है चाहिए। यह उन फ़ाइलों को किसी भी आयात का पालन नहीं करता है जो टाइपस्क्रिप्ट कंपाइलर को पास नहीं किया गया है। https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Module%20Resolution.md#using---noresolve। मैं 'gulp.src' नहीं करने का सुझाव दूंगा लेकिन या तो सत्य के स्रोत के रूप में 'tsproject' से शुरू होता हूं: https://github.com/ivogabe/gulp-typescript#using-tsconfigjson –