gpt4 book ai didi

javascript - 我无法让基本的 ES6 导入工作

转载 作者:行者123 更新时间:2023-11-30 20:50:44 25 4
gpt4 key购买 nike

抱歉,我做错了什么基本的蠢事?我正在关注 this example code.我需要一种特殊的方式来提供代码吗? (我正在使用 http 服务器)

Chrome 提示

  • “意外的标记{”或
  • 分别为“意外标识符”

最小代码如下:

迷你.js

import {doSomething2} from "mini2";
// import doSomething2 from "mini2"; also fails
// also tried ... from "./mini2"

function doSomething1(url, opts) {
return "mini1 " + doSomething2(url);
}

mini2.js

export function doSomething2(url, opts) {
return ("mini2 " + url);
}

mini.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8>
<title>Test</title>
<script src="mini.js"></script>
</head>

<body onload="console.log(doSomething1('hi there'))">

<header>
</header>
<main>
<h1> Test </h1>
</main>
</body>

</html>

更新:我没有使用任何转译器或 bundler 。按照@MohammedWaleed 的建议,如果 .html 文件使用 type = "module" 并且 mini.js 导入带有详细路径的 mini2.js,import {doSomething2} from './mini2.js ';,事情或多或少是有效的。我可以从调用 mini2.js 的 mini.js 运行内联代码。问题是 mini.js 中的函数,例如dosomething1(),好像是看不见的。

更新 2 @loganfsmyth 评论有效。似乎如果您的脚本是“模块”类型,则必须手动设置全局变量。有点尴尬,但很好。为了避免过多地污染窗口全局空间,最好使用窗口的属性,这里我只使用了“mini”:

window.mini = {
doSomething1 :function doSomething1(url) {
return "mini " + doSomething2(url);
}
anotherFunction: blah blah...
}

最佳答案

你试过吗

import {doSomething2} from "mini2.js";

我注意到它包含在以下链接的文件中,无论哪种方式,您都应该检查链接,它会对您有所帮助

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

编辑:我在媒体上找到了这篇文章,它会对你有所帮助

https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7

关于javascript - 我无法让基本的 ES6 导入工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48213359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com