আমি টাইপস্ক্রিপ্ট শিখতে চেষ্টা করছি। যদিও আমি এটি প্রাসঙ্গিক বলে মনে করি না, আমি এই ডেমোটির জন্য ভিএসকোড ব্যবহার করছি।
আমার package.json
কাছে এই টুকরোগুলি রয়েছে:
{
"devDependencies": {
"gulp": "^3.9.1",
"jspm": "^0.16.33",
"typescript": "^1.8.10"
},
"jspm": {
"moment": "npm:moment@^2.12.0"
}
}
তারপরে আমার কাছে টাইপস্ক্রিপ্ট ক্লাসটি রয়েছে main.js
:
import moment from 'moment';
export class Main {
}
আমার gulpfile.js
চেহারাটি এরকম:
var gulp = require('gulp');
var typescript = require('gulp-tsb');
var compilerOptions = {
"rootDir": "src/",
"sourceMap": true,
"target": "es5",
"module": "amd",
"declaration": false,
"noImplicitAny": false,
"noResolve": true,
"removeComments": true,
"noLib": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
};
var typescriptCompiler = typescript.create(compilerOptions);
gulp.task('build', function() {
return gulp.src('/src')
.pipe(typescriptCompiler())
.pipe(gulp.dest('/dest'));
});
আমি যখন গল্প বিল্ড চালাই, আমি বার্তাটি পাই: "../main.ts(1,25): Cannot file module 'moment'."
আমি যদি ব্যবহার করি import moment = require('moment');
তবে jspm কাজ করবে এবং আমি অ্যাপ্লিকেশনটি চালানোর সময় মডিউলটি আনব, তবে আমি এখনও বিল্ড ত্রুটিটি পাচ্ছি। আমি চেষ্টাও করেছি:
npm install typings -g
typings install moment --ambient --save
সমস্যাটি আরও ভাল করার পরিবর্তে এটি আরও খারাপ হয়েছে। এখন আমি নিম্নলিখিতটির পাশাপাশি উপরের ত্রুটিটি পেয়েছি:"../typings/browser/ambient/moment/index.d.ts(9,21): Cannot find namespace 'moment'."
আমি যদি টাইপিংয়ের মাধ্যমে সরবরাহ করা ফাইলে যাই এবং ফাইলটির নীচে যুক্ত করি:
declare module "moment" { export = moment; }
আমি যেতে দ্বিতীয় ত্রুটি পেতে পারি, তবে আমার main.ts
ফাইলে কাজ করার জন্য মুহূর্ত পেতে আমার এখনও প্রয়োজনীয় বিবৃতি প্রয়োজন এবং এখনও প্রথম বিল্ড ত্রুটিটি পাচ্ছি।
.d.ts
মুহুর্তের জন্য আমার নিজের ফাইলটি তৈরি করা দরকার বা আমি অনুপস্থিত কিছু সেটআপ টুকরা রয়েছে?
import moment, { Moment } from 'moment';
const x = moment();
const x: Moment = moment();