0

我正在使用gulp,browserifytsify捆绑我的应用程序,并将 browserify 指向该main.ts文件。这就是我捆绑应用程序所做的一切。但是,当我尝试运行index.html导入了捆绑的 js 文件的文件时,出现错误:this._nativeError is undefined出现空白屏幕。

我的tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc-e2e",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ]
  }
}

我的吞咽任务:

吞咽任务

4

2 回答 2

0

关于tsify配置,您定义:

defaultOptions = {
  ...
  tsifyOptions: {},
  ...
}

但你使用:

.plugin(tsify, defaultOptions.tsifydefaultOptions)

目前尚不清楚它是否与您的问题有关,但是如果您与您tsconfig.json的不在同一目录中package.json并且不在父目录中,则不会找到它。而且由于您的配置包括../node_modules/@types,它似乎不是。

tsify知道它在哪里tsconfig.json,您可以指定project选项:

.plugin(tsify, { project: './some-directory/tsconfig.json' })
于 2017-01-18T06:45:15.230 回答
0

我遇到了同样的问题,并按照此处的建议将 console.log 放入 compiler.umd.js 中找到了我的解决方案: https ://stackoverflow.com/a/41644735/7434393

在 compiler.umd.js 的第 1604 行附近,我添加了一个 console.log 来显示消息。

它是 Object.defineProperty(BaseError.prototype, "message" 定义的 set 函数的一部分。

setter 将消息分配给 _nativeError.message,但 _nativeError 是未定义的,因此,它被炸毁了,隐藏了 REAL 错误消息。

所以,我只是放了一个 console.log 来吐出正在传递的消息,它向我显示了我遇到的实际错误(模板错误)。

因此,这似乎是他们代码中的一个错误。

于 2017-01-18T07:53:16.850 回答