未捕获的TypeError:(0,_module)不是函数

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

我正在使用parcel,我正在尝试使用ES6导入和导出语法。包裹似乎在地下运行,我对它很新。当openimn index.html放置在“dist”文件夹时,它不能很好地渲染并在控制台中显示此错误:“未捕获TypeError:(0,_module.importedHi)不是函数”

这是导出JS文件中的代码:

export const importedHi = document.write("Hello world")

这是main.js的代码:

import {importedHi} from "./module1";

importedHi()

这是我在index.html中使用的脚本

<script src="js/main.js"></script>

我需要配置什么才能使其正常工作?

javascript ecmascript-6 babel es6-modules parcel
1个回答
2
投票

document.write返回undefined,所以importedHiundefinedimportedHi()抛出错误。您可能想要导出一个调用document.write的函数,例如:

export const importedHi = () => document.write("Hello world");

尽管如此,如果你可以使用模块和捆绑器,你可能应该使用更现代的操作DOM的方法,比如createElement / appendChild等等,也许就像这样

export const importedHi = () => {
  document.body.appendChild(document.createTextNode('Hello world'));
};
© www.soinside.com 2019 - 2024. All rights reserved.