原生js使用es6引入import报错解决方法

2024年07月28日 建站教程

注意:在引入js的时候type值需设置为module

1、index.html代码

<!DOCTYPE html>
<html>
  <head>
     <meta charset="UTF-8">
     <title></title>
   </head>
   <body>
   </body>
   <script src="api.js" type="module"></script>
   <script src="util.js" type="module"></script>
   <script type="module">
	import { Obj, argu } from './util.js'
	var a = argu(10);
	var b = Obj.add(10);
	var c = Obj.reduce(10);
	console.log('index',a, b, c)
    </script>
</html>

2、util.js代码

export function argu(argu){
   return argu+10;
}

var Obj = {
    add:function(argu){
	return argu+10;
    },
   reduce:function(argu){
	return argu-1;
   }
}

export { Obj }

3、api.js代码

import { Obj, argu } from './util.js'

var a = argu(10);
var b = Obj.add(10);
var c = Obj.reduce(10);
console.log(a, b, c)

Ps:尚未得到支持的 import 路径符号

// 支持
import {foo} from 'https://jakearchibald.com/utils/bar.js';
import {foo} from '/utils/bar.js';
import {foo} from './bar.js';
import {foo} from '../bar.js';

// 不支持
import {foo} from 'bar.js';
import {foo} from 'utils/bar.js';

有效的路径符号应当符合以下条件规则之一:

完整的非相对路径。这样在将其传给new URL(moduleSpecifier)的时候才不会报错
以 / 开头。
以 ./ 开头。
以 …/ 开头。
其他形式的符号被保留下来,未来将用于其他功能(如引入[import]内置模块)。

本文链接:http://so.lmcjl.com/news/9336/

展开阅读全文
相关内容