es6在网页中模块引入的方法
前言:
以前,当然包括现在的大部分js引入,我们都是利用<script></script>这种全局的方式进行引入,当然这种弊端还是用的,比如这样直接利用script引入的话,会导致全局暴露,会有变量冲突的可能。
基于此,es6引入了模块引用,具体就是利用import 和 export来进行操作。(当然,大部分后台语言早已经实现了模块引入,甚至包括css这种样式)。
1、那么网页中如何引入js模块呢? 请看下面小案例。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script type="module"> import es6 from './es6.js'; let bb = es6.test.start(); console.log(bb); </script> </body> </html>
注意:1、type="module"必须要写,否则,目前的浏览器不支持/2、必须要用访问服务器方式打开浏览器,不能直接打开浏览器,否则报错 from origin 'null' has been blocked by CORS policy: Invalid response. Origin 'null' is therefore not allowed access.
2、被引入的js如何写的呢?请看下面案例。
class Num{ constructor(x,y){ this.x = x; this.y = y; } start(){ return this.x+this.y; } } let test = new Num(2,98980); export default{ test }
总结:通过以上两个文件的引用,我们就可以很明晰地了解到es6的模块引入方式怎么使用了。
php,python的模块引入和js有相似之处。但是,貌似只有js的模块被引用时需要export default 这样控制要暴露的接口,这个待后续观看!