Javascript 我不明白为什么我的导入/导出不起作用
因此,我正在尝试使用javascript进行导入和导出。我不断收到错误,“Uncaught SyntaxError:意外标记‘export’”和“Uncaught SyntaxError:无法在模块外使用import语句”这只是我从page1导出并导入到main的一个简单警报函数。 HTML: JS/main:Javascript 我不明白为什么我的导入/导出不起作用,javascript,function,import,export,alert,Javascript,Function,Import,Export,Alert,因此,我正在尝试使用javascript进行导入和导出。我不断收到错误,“Uncaught SyntaxError:意外标记‘export’”和“Uncaught SyntaxError:无法在模块外使用import语句”这只是我从page1导出并导入到main的一个简单警报函数。 HTML: JS/main: import {myAlert} from "./page1" window.onload = myAlert; 如果您使用babel单机版,则如下所示: 模块 //您的js代码将
import {myAlert} from "./page1"
window.onload = myAlert;
如果您使用babel单机版,则如下所示:
模块
//您的js代码将在这里
您将使用您的代码与
babel.transform(代码:字符串,选项?:对象,回调:函数)
但这是一种非常不方便的使用babel的方式,因此我建议您将其与捆绑程序(如Webpack)一起使用,并使用npm安装安装babel,因此所有这些细节都将由Webpack处理:您应该:
import{myAlert}从“/page1.js”
(在路径中包括.js
)
type=“module”
(
)
模块
JS/page1.JS:
导出函数myAlert(){
警报(“我的导入/导出工作”);
}
JS/main.JS:
从“/page1.js”导入{myAlert}
window.onload=myAlert;
您知道从ES6开始就可以使用它,对吗?您可以使用babel来避免这个错误:我将代码切换到babel所说的内容,但仍然存在相同的错误“访问位于的脚本”file:///C:/Users/jmish/OneDrive/Desktop/projects/Module%20Tetris%20Test/main.jsCORS策略已阻止来自源“null”:跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https。“和”得到file:///C:/Users/jmish/OneDrive/Desktop/projects/Module%20Tetris%20Test/main.js “ERR_FAILED”是我在您的changes@JoeMisheski您应该从http://
而不是文件://
访问该页面。要启动http服务器,请尝试或。
export function myAlert() {
alert("My Import/Export worked");
}
import {myAlert} from "./page1"
window.onload = myAlert;
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>module</title>
<link rel= "stylesheet" href="styleSheets/main.css">
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script text="text/babel">
// Your js code will be here
</script>
<script src= "JS/jquery.js"></script>
<script src= "JS/main.js"></script>
<script src= "JS/page1.js"></script>
</head>
<body>
</body>
</html>