J'essaie d'apprendre à la Machine. Bien que je ne pense pas que c'est pertinent, je suis en utilisant VSCode pour cette démo.
J'ai un package.json
que ces pièces sont de:
{
"devDependencies": {
"gulp": "^3.9.1",
"jspm": "^0.16.33",
"typescript": "^1.8.10"
},
"jspm": {
"moment": "npm:moment@^2.12.0"
}
}
Ensuite, j'ai un fichier d'enregistrement de la classe main.js
comme ceci:
import moment from 'moment';
export class Main {
}
Mon gulpfile.js
ressemble à ceci:
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'));
});
Quand je lance gulp construire, je reçois le message: "../main.ts(1,25): Cannot file module 'moment'."
Si j'utilise import moment = require('moment');
alors jspm de travail et apporter dans le module quand je lance l'application, mais je suis encore à la réception de l'erreur.
J'ai aussi essayé:
npm install typings -g
typings install moment --ambient --save
Au lieu de faire mieux le problème cependant, c'était pire. Maintenant, je reçois l'erreur ci-dessus sur la compilation ainsi que les suivants: "../typings/browser/ambient/moment/index.d.ts(9,21): Cannot find namespace 'moment'."
Si je vais dans le fichier fourni par typings et ajouter à la fin du fichier:
declare module "moment" { export = moment; }
Je peux obtenir la deuxième erreur de s'en aller, mais j'ai encore besoin de l'exiger pour obtenir moment pour travailler dans mon main.ts
le fichier et je suis encore en train de la première construction d'erreur.
Dois-je créer mon propre .d.ts
le fichier pour le moment, ou est-il simplement une certaine configuration morceau, je suis absent?