azovl
@azovl

Typescript компиляция. Как решить «Uncaught ReferenceError: exports is not defined»?

Компиляция проходит успешно, использую Gulp с плагином gulp-typescript.
К сожалению при запуске кода в браузере возникает ошибка:

Скомпилированный JS имеет вот такую строчку "Object.defineProperty(exports, "__esModule", { value: true });"
Соответственно ошибка: "main.js:2 Uncaught ReferenceError: exports is not defined"
tsc 2.4.2

Собственно код вот такой:

main.ts
import * as _ from 'lodash';
import * as $ from 'jquery';


tsconfig.json
{
  "files": [
    "../../web/ts/main.ts"
  ],
  "compileOnSave": false,
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "sourceMap": true,
   "emitDecoratorMetadata": true,
   "experimentalDecorators": true,
    "lib": [ "es2015", "dom" ],
   "noImplicitAny": true,
   "removeComments": true,
   "preserveConstEnums": true,
   "allowUnreachableCode": true
  },
  "exclude": [
    "node_modules"
  ]
}


gulpfile.js
var tsProject = ts.createProject("tsconfig.json");
gulp.task("typescript", function () {
    return tsProject.src()
        .pipe(tsProject())
        .js.pipe(gulp.dest(paths.jsFolder));
});


Где я допустил ошибку?
И как правильно делать импорты с учетом конфигурации модулей в файле tsconfig.json?
  • Вопрос задан
  • 4369 просмотров
Решения вопроса 1
Ошибка из-за того, что у вас не подключён commonjs, который вы указали в tsconfig.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы