从另一个文件导入打字稿类

不吃早餐

只是从打字稿开始,我试图将一个类从一个文件导入到另一个文件,听起来很简单..但我不断收到错误消息:

renderer.js:6未捕获的ReferenceError:未定义导出

我有主入口文件app.ts:

import {Renderer} from '../ts/renderer.ts';
var renderer = new Renderer();
console.log("-- Start --");

我在renderer.ts中有这个:

export class Renderer {  
}

我正在使用Gulp将我的打字稿编译为js。这是我正在使用的:

var gulp    = require('gulp');
var tsc     = require('gulp-typescript-compiler');
var $       = require('gulp-load-plugins')();

gulp.task('ts-compile', function () {
  return gulp
    .src('ts/**/*.ts')
    .pipe(tsc({
        module: "commonjs",
        target: "es5",
        moduleResolution: "node",
        sourcemap: true,
        logErrors: true
    }))
    .pipe(gulp.dest('app'));
});

gulp.task('js-compile', function () {
    return gulp
        .src(['app/**/*.js'])
        .pipe($.sourcemaps.init())
        .pipe($.concat('main.js'))
        .pipe($.sourcemaps.write())
        .pipe(gulp.dest('js'));
});

gulp.task('watch-all', function() {
    gulp.watch(['ts/**/*.ts'], ['ts-compile']);
    gulp.watch(['app/**/*.js'], ['js-compile']);
});

任何人都知道为什么会引发该错误吗?由于可能会解释该错误的“导入”行,我的app.ts文件似乎无法编译,但对我来说似乎正确。

马丁

您需要使用browserify才能在浏览器中使用CommonJS模块。

幸运的是,您已经到了那里。你只需要更换gulp-typescript-compiler一饮而尽,browserifytsify插件。

这是一个Gulpfile示例

var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var watchify = require('watchify');
var tsify = require('tsify');
var gutil = require('gulp-util');
var watch = require('gulp-watch');

var watchedBrowserify = watchify(browserify({
    basedir: '.',
    debug: true,
    entries: "src/main.ts",
    cache: {},
    packageCache: {}
}).plugin(tsify));

gulp.task('ts:watch', bundle);

function bundle() {
    return watchedBrowserify
        .bundle()
        .pipe(source('bundle.js'))
        .pipe(gulp.dest('dist'));
}

gulp.task('default', ['ts:watch']);
watchedBrowserify.on('update', bundle);
watchedBrowserify.on('log', gutil.log);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将变量从一个打字稿文件导入另一个

将自我执行功能导入打字稿中的另一个类

打字稿:无法从另一个文件导入对象

打字稿:调用另一个类的“方法”

打字稿导入-每个文件约定一个类

将一个打字稿文件导入另一个浏览器文件

打字稿-将命名空间导入另一个命名空间

在打字稿中的另一个类中使用静态类方法

从另一个文件导入类

从另一个文件中的类导入函数?

从另一个文件Python导入类变量

如何编写依赖于另一个定义文件的打字稿定义文件

打字稿:另一个参数的键?

打字稿:基于另一个属性的属性

从另一个* .ts文件创建打字稿的对象

数组和泛型类扩展了另一个类:可以在打字稿中使用吗?

如何从相同的打字稿文件扩展一个类?

从另一个文件导入类是否还会导入该文件的依赖关系?

如何从另一个 py 文件导入一个类?

试图从另一个文件导入一个类,但是我的测试坏了

如何导入和使用从自身中的另一个文件导入类的python模块?

如何从角度的另一个导出函数访问同一打字稿文件中的函数

打字稿基于接口从另一个对象创建一个对象

从打字稿中的另一个函数中调用一个函数

一个接口的打字稿键扩展了另一个接口

打字稿,将一个对象映射到另一个对象?

断言另一个属性后,一个属性的打字稿推断

将类的变量导入另一个类

如何从另一个文件夹中的文件导入python类?