一. 模块化历史
1. 浏览器端模块化
2. 服务器端模块化
3. 大一统的ES6模块化
PS:
二. ES6模块化
1. 默认导入、导出
导出:
//1. 默认导出 //注意::在一个模块中,只允许使用export default向外默认暴露一次成员,千万不要写多个export default。如果在一个模块中没有向外暴露成员,其他模块引入该模块时将会得到一个空对象 let a=1; let b=2; function Add(m,n){ return m+n; } export default{ a, b, Add }
导入:
//1. 默认导入 import moudleA from "./05-ES6ModuleA.js"; console.log('--------------下面执行默认导入的成员----------------------'); console.log(moudleA.a); console.log(moudleA.b); console.log(moudleA.Add(5,6));
2. 按需导入、导出
导出:
export let num = 998;
export let myName = "jack";
export function Say() { console.log("Hellow World") }
导入:
//2. 按需导入 import {num as num1,myName,Say} from "./05-ES6ModuleA.js"; console.log('--------------下面执行按需导入的成员----------------------'); console.log(num1); console.log(myName); Say();
3. 直接运行
直接运行js
//直接运行 import './Temp/11.js';
注:如何运行呢?
nodejs中不能直接执行ES的模块化写法,需要npm init一下,然后在package.json中,加上一句话: "type": "module",
补充匹配规则 :
(1). 如果是完整路径,则直接引入 。eg:import moudleA from "./find.js";
(2). 如果不是完整路径,比如:import mA from './find'
A. 先找同名的js文件,即找 find.js
B. 如果找不到,再找find文件夹,找到后,再匹配find文件夹中的index.js文件。
C. 如果找不到index.js文件,会去当前文件夹中的package.json文件中查找main选项中的入口文件。
D. 全都没有的话,则报错。
三. Vue单文件
代码如下:
<template> 组件代码区域 </template> <script> js代码区域 </script> <style scoped> 样式代码区域 </style>
!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。