模块导出:export { }
具名导处的方式
保证以花括号的形式导出
let obj = {
name: "张三"
}
// 具名导出的方式
// 保证以花括号的形式导出
export { obj }
模块导入: import { } from " "
<script type="module">
// 具名导入
// 保证以花括号的形式导出
import { obj } from "./1.js"
console.log(obj);
</script>
如果两个Js文件有相同的名字,可以选择导入的时候使用as修改变量名,调用的时候用新的变量名
import { obj, fn as fn2, str1 } from "./1.js"
let obj = {
name: "张三"
}
function fn(a, b) {
let s = a + b;
alert(s)
}
let str1 = "我是一句话"
export { obj, fn, str1 }
// 如果两个Js文件有相同的名字,可以选择导入的时候使用as修改变量名
import { obj, fn as fn2, str1 } from "./1.js"
console.log(obj); // {name: '张三'}
console.log(str1); // 我是一句话
function fn() {
alert(1)
}
fn2(1, 2) // 3
当导出了很多的变量,可以使用*as来接收
import *as all from "./1.js"
// 当导出了很多的变量,可以使用*as来接收
import *as all from "./1.js"
console.log(all);
//Module {Symbol(Symbol.toStringTag): 'Module'}
fn: (…)
obj: (…)
str1: (…)
console.log(all.obj); // {name: '张三'}
all.fn("孙莉", "不是孙俪")
// ☆也可以单独导出,导出的时候的名字需要和导入的时候的名字保持一致
// import { str1 } from "./1.js"
// console.log(str1); //我是一句话
在导出的时候也使用as修改变量名
分开导出:
分开导出
export let obj = {
name: "张三"
}
export function fn(a, b) {
let s = a + b;
alert(s)
}
export let str1 = "我是一句话"
// 分开导入
import { str1, fn, obj } from "./1.js"
console.log(str1); // {name: "张三"}
console.log(obj); // 我是一句话
fn("孙莉", "不是孙俪") //孙莉 不是孙俪
匿名导出:匿名导出一个对象
export default { }
// 匿名导出一个对象
export default {
obj: {
name: "张三"
},
str: "我是一句话",
strFn: function (a, b) {
alert(a + b)
}
}
匿名导出 不需要花括号,名字可任意命名
<script type="module">
// 匿名导出 不需要花括号,名字可任意命名
import abc from "./2.js"
console.log(abc.obj); // {name: '张三'}
console.log(abc.str); // 我是一句话
abc.strFn("你好", "中国") //你好中国
</script>
分开写的方式
// 分开写的方式 js部分
let obj = {
name: "张三"
}
let str = "我是一句话";
let strFn = function (a, b) {
alert(a + b)
}
export default {
obj: obj,
str: str,
strFn: strFn
}
// html部分
<script type="module">
// 匿名导出 不需要花括号,名字可任意命名
import abc from "./2.js"
console.log(abc.obj); // {name: '张三'}
console.log(abc.str); // 我是一句话
abc.strFn("你好", "中国") //你好中国
</script>
// 分开写的方式 js部分
let obj = {
name: "张三"
}
let str = "我是一句话";
let strFn = function (a, b) {
alert(a + b)
}
// 在es6中 key 和value 是一样的情况,可以省略写value
export default {
obj,
str,
strFn
}
// html部分
<script type="module">
// 匿名导出 不需要花括号,名字可任意命名
import abc from "./2.js"
console.log(abc.obj); // {name: '张三'}
console.log(abc.str); // 我是一句话
abc.strFn("你好", "中国") //你好中国
</script>
node-v
初始化一个npm项目:
npm init
快速初始化一个npm项目:
所有的内容都是默认的,命令如下:
npm init -y
下载一个最新jquery包依赖 ,也可以使用bootstrap,vue
npm install jquery 简写npm i jquery
使用jquery
"dependencies": {
"jquery": "3.5.0"
}
如果固定想安装成指定的版本就被不要加上上箭头
安装指定版本的juery命令:npm i jquery@1.12.4
安装只知道次版本不知道主版本的juery命令,直接会升级到主版本的最新内容:npm i jquery@3
各个版本号代表什么意思?例如 jquery1.12.4
1代表主版本 主版本之间区别比较大
12代表次版本 做了一个向下兼容的新增功能
4代表修订号 做了一些向下兼容修正
开发环境需要用到的依赖,可以输入命令,
例如: npm i moment --save-dev或者写成npm i moment -D
package.json中会出现下面的内容,代表开发环境需要用到的依赖包
npm i bootstrap --save
或者npm i vue -S(大写)
或者 npm i vue
package.json中会出现下面的内容,代表生产环境需要用到的包依赖
为什么要区分两个环境:
开发环境使用的时候,会打包开发环境的依赖;
生产环境使用的时候,会打包生产环境的依赖。
卸载依赖:
npm uninstall jquery 或者简写成 npm uni jquery