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”,正常输出结果:

 

 

相关文章

原文连接:https://www.cnblogs.com/dupd/p/5951311.htmlES6...
以为Es6,javascript第一次支持了module。ES6的模块化分为导...
视频讲解关于异步处理,ES5的回调使我们陷入地狱,ES6的Prom...
TypeScript什么是TypeScript?TypeScript是由微软开发的一款开...
export class AppComponent { title = 'Tour of heroes...
用 async/await 来处理异步昨天看了一篇vue的教程,作者用as...