未捕获的ReferenceError:导入函数时未定义导出 - TypeScript

问题描述 投票:2回答:1

我正在学习TypeScript。我从output导入了console.ts函数:

export function output(value: any): void {
  console.log(value);
}

编译为console.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var console_1 = require("./console");
console_1.output('Hello');
//# sourceMappingURL=functional.js.map

在目标文件中导入和使用:

import {output} from "./console";
output('Hello');

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "noImplicitAny": true,
    "removeComments": true,
    "preserveConstEnums": true,
    "sourceMap": true
  },
  "exclude": [
    "node_modules"
  ]
}

我没有编译错误,但不理解为什么我在浏览器中收到以下错误:

enter image description here

Uncaught ReferenceError: exports is not defined at functional.js:2
javascript typescript
1个回答
0
投票

我在Vue.js / TypeScript项目中遇到了类似的问题。 Vue.js项目使用了Webpack,我在外部模块开发期间运行了npm link

最后,我发现问题是由Webpack试图遵循我与npm link命令链接的依赖关系的符号链接引起的。

解决方案是指示Webpack停止遵循符号链接。

相关的Webpack文档部分:resolve.symlinks

相关的Vue.js故障排除部分:Vue.js and npm link

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.