javascript - Uncaught ReferenceError : exports is not defined when importing function - TypeScript

标签 javascript typescript

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

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

最佳答案

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

最终,我发现这个问题是由于 Webpack 试图跟踪符号链接(symbolic link)到我用 npm link 命令链接的依赖项引起的。

解决方案是指示 Webpack 停止跟踪符号链接(symbolic link)。

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

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

关于javascript - Uncaught ReferenceError : exports is not defined when importing function - TypeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51539715/

相关文章:

javascript - Controller 中的 Angularjs 表单始终未定义

javascript - 在 JavaScript 中获取嵌套 JSON 数组的长度

javascript - Magento 表单验证,表单不提交有效字段

javascript - 全屏背景幻灯片弄乱了响应式粘性页脚

javascript - 根据对象的值过滤对象数组

angular - 在 Angular 2 中使用异步/等待功能

typescript - 为可以具有不同结构的对象参数定义类型

node.js - Typescript - 使用 Class-transformer 扁平化 JSON 模型

javascript - 如果用户登录使用 React 路由器重定向到仪表板?

react-navigation v5 中的 Typescript StackNavigatonProps 和 Screen props