首页 > 其他分享 >ES6 模块化

ES6 模块化

时间:2022-11-17 01:34:21浏览次数:48  
标签:behaviors ES6 模块化 dog server export import cat

一、html

script 标签要声明 type = 'module' 

1 <script type="module">
2     import behaviors, { cat, dog } from "./animals";
3     console.log(behaviors, cat, dog);
4 </script>

二、animals.js

1 export default class behaviors {}
2 
3 export function cat() {}
4 
5 export { dog };
6 
7 function dog() {}

三、server.js

 1 const http = require("http"),
 2     fs = require("fs");
 3 
 4 const server = new http.Server();
 5 
 6 server.on("request", (req, res) => {
 7     const url = req.url;
 8     const suffix = url.match(/(?<=\.)\w*$/)?.[0] || "js"; // 匹配文件格式
 9     const fileName = url.match(/.*(?=\.\w*$)|\/?\w*/)[0]; // 匹配文件名
10     let mime = "";
11     switch (suffix) {
12         case "html":
13             mime = "text/html";
14             break;
15         case "ico":
16             mime = "image/x-icon";
17             break;
18         default:
19             mime = "text/javascript";
20     }
21 
22     fs.readFile(`.${fileName}.${suffix}`, (err, data) => {
23         res.writeHead(200, {
24             "Content-Type": mime,
25         });
26         res.write(data);
27         res.end();
28     });
29 });
30 
31 server.listen(80);

五、运行

node server.js

浏览器访问:http://localhost/behaviors.html

六、补充 export 与 import

  1.   export default class behaviors {} 对应 import behaviors from "./animals"; 
  2.  export function cat() {} 和 export { dog }; function dog() {} 对应 import { cat, dog } from "./animals"; 
  3. 可以像上面的例子一样,混合使用

标签:behaviors,ES6,模块化,dog,server,export,import,cat
From: https://www.cnblogs.com/aurora-power/p/16898134.html

相关文章

  • ES6之模板字符串
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>模板......
  • ES6之简化对象写法
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>简化......
  • ES6使用let实现变量的解构赋值
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>变量......
  • ES6之const
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>const......
  • Javascript(笔记40) - ES6特性 - Map
    Javascript(笔记40)-ES6特性-MapMap ES6 提供了Map数据结构。它类似于对象,也是键值对集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map也实......
  • Javascript(笔记39) - ES6特性 - 集合Set
    SETES6 提供了新的数据结构set(集合)。集合类似于数组,但成员的值都是唯一的,集合实现iterator 接口,所以可以使用“扩展运算符”和“for...of”进行遍历,集合的属性和方法......
  • ES6之let
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>let</......
  • ES6-import后加花括号{}和不加花括号引用模块的区别
    ES6-import后加花括号{}和不加花括号引用模块的区别使用花括号在A文件中想要引用B文件模块,所引入的名字必须与B文件中导出的名字相同在A.js中exportconstA{***}那么......
  • webpack模块化的原理
    commonjs在webpack中既可以书写commonjs模块也可以书写es模块,而且不用考虑浏览器的兼容性问题,我们来分析一下原理。首先搞清楚commonjs模块化的处理方式,简单配置一下webp......
  • es6有哪些新特性?
    1.let和ocnst,可以定义块级作用域 2.新增了箭头函数,箭头函数简化了函数定义的定义 3.新增了promise解决回调地狱问题ps:回调地狱是我们异步请求服务器数据时......