初学者, 想知道错误出在哪里,找到的资料都介绍的
以下是我精简后的代码内容,错误提示在 main.js import那一行
错误提示为:
SyntaxError: Unexpected token ‘{‘. import call expects exactly one argument
index.html
LearnJavscriptbody{
background: #FFFFFF;
padding: 0px;
margin: 0px;
display: flex;
/* flex-direction: column-reverse; */
justify-content: center;
}
main.js
import {hello} from './lib.js';
hello();
lib.js
export function hello() {
console.log('hello');
}
回答:
浏览器啥时候可以直接用 import了?
浏览器JS不支持模块系统,如果需要,需要用requirejs或者seajs或者webpack处理
回答:
=>
回答:
目前支持 ES6 Module 的浏览器:
Safari 10.1
Chrome 61
Firefox 54 需要设置 dom.moduleScripts.enabled
Edge 16
在浏览器里使用 Module 的方法:
// 或
import './main.js';
需要注意的规范:
注意引用的路径,不支持 main.js,支持 /main.js、./main.js、../main.js、**/main.js
使用 nomodule 属性向后兼容
Modules 默认使用 Defer,即慢于同步的请求,但先于显式 Defer 的请求
引用或内联的 Modules 都支持 Async
多次引用同一个Modules,只执行一次
通常需要 CORS,即需要 Access-Control-Allow-Origin: *
发送请求默认不包括证书
Modules 需要设置可用的 MIME 类型,否则不会执行
回答:
不支持import语法,可以使用babel转成es5