【发布时间】:2019-03-27 10:58:35
【问题描述】:
我想为我们的网络应用程序的脚本从 JavaScript 切换到 TypeScript。但是,在生成 JavaScript 时,它总是会在脚本顶部添加以下几行:
"use strict";
exports.__esModule = true;
var $ = require("jquery");
我收到了浏览器错误。如何防止 TypeScript 这样做?
我阅读了TypeScript: Avoid require statements in compiled JavaScript,但它不能成为切换到“任何”的答案,这丧失了整个 TypeScript 的想法。
我也读过Typescript importing exported class emits require(...) which produces browser errors,但这仍然会在JS文件中生成<reference...的东西,这也不是我想要的。
如何创建“干净”的 JS 文件?
我的 tsconfig.json 看起来像这样:
{
"compilerOptions": {
"noImplicitAny": true,
"noEmitOnError": true,
"sourceMap": true,
"target": "es5"
},
"compileOnSave": true
}
我的 gulp 调用是:
var ts = require('gulp-typescript');
...
var tsProject = ts.createProject("tsconfig.json");
...
gulp.task("ts", function () {
return gulp.src(tsInputFiles)
.pipe(tsProject())
.js
.pipe(gulp.dest("wwwroot/js"));
});
【问题讨论】:
-
显示你的
tsconfig.json文件,你在用webpack吗? -
我添加了
tsconfig.json。不,我正在使用 gulp 管道。 -
我认为,您可以尝试将
babel添加到您的 gulp 管道中。 -
我在
.js和gulp.dest之前将 babel 添加到我的管道中,但它没有帮助。 babel 究竟应该做什么? -
“我收到浏览器错误。”你能告诉我们这些是什么吗?
标签: javascript typescript