【发布时间】:2019-03-14 16:48:44
【问题描述】:
我有一个由 Typescript 3.3.3 生成的 commonjs 模块。
是否可以将它与 es6 import 语句一起使用?这是我尝试过的。
生成的模块在文件末尾这样导出 CountUp:
exports.CountUp = CountUp;
在我的 main.js 中:
import { CountUp } from './js/countUp.js';
在 index.html 中:
<script src="./js/countUp.js"></script>
<script src="./main.js" type="module"></script>
但我明白了
countUp.js:13 未捕获的引用错误:未定义导出 在 countUp.js:13
(注意:countUp.js 现在作为 es6 模块分发)
【问题讨论】:
-
我还认为您希望它生成类似于
export class CountUp {}或export function CoutUp(){}之一的文件,您的tsconfig.json是什么样的? -
您的
countUp代码似乎没有在尝试导出 CommonJS 之前检查exports是否存在。 -
@Pointy 它完成了所有这些,我没有包含整个文件。你可以在这里看到它:github.com/inorganik/countUp.js/blob/master/dist/countUp.js
-
第 13 行:
Object.definePropert(exports, ...)— 如果exports未定义,则例外。
标签: javascript typescript es6-modules