我无法弄清楚为什么这个简单的代码不起作用:
index.html的:
<!doctype HTML>
<html>
<head>
<script type="module" src="/showImport.js"></script>
</head>
<body>
<button onclick="showImportedMessage();">Show Message</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
showImport.js:
import showMessage from '/show.js';
function showImportedMessage() {
showMessage();
}
Run Code Online (Sandbox Code Playgroud)
show.js:
export default "Why do I need this?";
export function showMessage() {
alert("Hello!");
}
Run Code Online (Sandbox Code Playgroud)
它由NPM http-server提供服务.当我连接Chrome(v65)时,我看到以下错误
(index):8 Uncaught ReferenceError: showImportedMessage is not defined
at HTMLButtonElement.onclick ((index):8)
onclick @ (index):8
Run Code Online (Sandbox Code Playgroud)
如果我摆脱type=module(并通过将showMessage函数放入导入/导出showImport.js)一切正常,但这样做的全部目的是使用模块.
此外,我不得不添加无用的export default声明,没有它Chrome会抱怨:
Uncaught SyntaxError: The requested module '/show.js' does not provide an export …Run Code Online (Sandbox Code Playgroud)