微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6模块化遇到的跨源问题Access to script at ‘X.js‘ from origin ‘null‘ has been blocked by CORS policy... 解决方法

a.js中使用export导出flag,sum:

let flag = true;
function sum(num1, num2) {
  return num1 + num2
}

if (flag) {
  console.log(sum(1, 2));
}

export {
  flag,
  sum
}

b.js中使用import导入flag,sum:

import { flag, sum } from './a.js';
console.log(flag);
if (flag) {
  console.log(sum(100, 200));
}

index.html引入a.js、b.js:

<!DOCTYPE html>
<html lang="en">
<head>
  <Meta charset="UTF-8">
  <Meta http-equiv="X-UA-Compatible" content="IE=edge">
  <Meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script type="module" src="./a.js"></script>
  <script type="module" src="./b.js"></script>
</body>
</html>

直接在浏览器中预览时报错:跨源请求仅支持协议方案

 解决方法

在VSCode中安装live server插件

 在index.html文件中右键:“Open with Live Server”,正常输出结果:

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐