- 把一系列相似功能 封装到一个模块中 以供使用
- node.js环境中的全局函数 require() 在浏览器中不能用这个
- 前端引用js文件用import 可以运行到浏览器去
- 后端引入js文件用require 也可以用import 一般不会运行到浏览器中
node.js安装时自动装好了的 如:fs 、querystring
如 mime npm i mime 下载模块后npm会在项目配置文件中的依赖中写入模块名和版本
示例:myquerystring
- // index.js 文件:
- var myquerystring=require("./myquerystring.js")
- console.log(myquerystring.name,myquerystring.age)
- myquerystring.tool()
- // myquerystring.js 文件
- module.exports = {
- name: "哈哈哈",
- age: 21,
- tool() {
- console.log("工具函数")
- },
- }
运行结果:
是一个内置函数,用于同步导入外部模块(3种)
require() 可以在任何地方被调用
require()是运行时加载
require() 可以读取、执行 JavaScript 文件并返回导出的对象
使用:
- // eg.js
- var a = 1
- var b = 1
- function add(a, b) {
- return a + b
- }
- module.exports = {
- a,
- b,
- add
- }
- // index.js
- var obj = require("./eg.js")
- console.log(obj); // { a: 1, b: 1, add:fun }
- console.log(obj.a); // 1
- console.log(obj.b); // 2
- console.log(obj.add); // add:fun
import是编译时加载
使用:
- // eg.js
- // 导出
- export var a = 1
- export var b = 2
- var str ="字符串"
- export default str
- // index.js
- import str,{a,b} from "./eg.js"
- console.log(str); // 字符串
- console.log(a); // 1
- console.log(b); // 2
示例:
新建一个文件夹m (必须是英文否则报错)=> cmd => npm i init -y => 生成package.json文件 => npm i mime --save => 生成node_modules文件夹
运行:
1)m下cmd : node test.js (自启动)
2)m下cmd :npm run dev (json文件"scripts"中加"dev":"node test.js") (npm帮忙启动)
运行结果:
npm i 模块名1 模块名2 -g :把多个模块同时下载到全局安装路径
npm i 模块名 不写/--save :把模块下载到项目的安装路径(当前项目内部的node_modules)
npm i 模块名 --save 项目依赖 会把依赖包名称添加到package.json文件的dependencies 下
npm i 模块名 --save-dev 环境依赖 会把依赖包添加到package.json文件的devDependencies
npm i 模块名 -S 等价于 npm i 模块名 --save
npm i 模块名 -D 等价于 npm i 模块名 --save-dev
npm i 去项目的配置文件找到依赖的包全部下载
使用:打包时只发送源码和项目配置文件,nmp i 会根据配置文件自动下载所有需要的模块
npm run dev 去项目的配置文件中找scripts字段 运行里面的dev指令
项目名:
作者信息:
...
"scripts":{"dev":"node inedx.js"} 启动指令 主要用于小黑窗的npm启动 npm run dev
"dependencies":项目依赖