nodejs 模块化开发 导入与导出
index.js
let name = 'xiaom';
function foo(number){
console.log(number++);
}
const add = (a,b) => a+b;
exports.foo = foo
exports.name = name
exports.add = add
main.js 代码如下
const index = require('./index')
console.log(index)
// exports 和require
// let 块级变量声明,只在let 命令所在的代码块内有效,支持块级,let不允许在同一个作用域内对同一个变量重复声明
//const声明一个只读的常量。一旦声明,常量的值就不能改变
node.js 系统模块
fs 模块
const fs = require('fs');
fs.readfile('filepath',['coding'],callback)
path 模块
const path = reuqire('path')
let full_path = path.join('root_path','dir','file')
第三方模块
1.以js 文件存在
2.以命令工具形式存在
获取第三方模块
npm (node package manage ): node 的第三方模块
下载第三方模块: npm instaill 第三方模块名称
js 模块查找机制
require('./find.js') //当前目录下的find.js 文件
require('./find')
//0.系统模块
//1.node_modules 文件夹中查找同名Js文件
//2.找当前路径下是否有同名js文件
//2.找项目路径下是否有find 文件夹,查找find文件夹下的index.js文件
//3.找find目录下的 package.json文件, 导入文件中main字段对应的值。
//4.若都找不到,报错
npm install formidable
#.默认下载在当前文件夹,node_modules
## 全局安装与本地安装
- 命令行工具(全局安装)
- `npm install nodemon -g`
- 库文件(本地安装)
## 第三方模块 nrm (npm 下载地址切换工具)
```bash
npm install nrm -g
#列出镜像
nrm -ls
#切换镜像
nrm use taobao
第三方模块 gulp
npm install gulp
step1:
创建gulpfile.js
step2:引用Gulp 模块
const gulp = require('gulp');
//创建task
gulp.task('first',()=>{
console.log('task start');
//获取文件
gulp.src('./src/index.js')
//输出文件
.pipe(gulp.dest('dist/js'));
})
gulp 插件
- gulp-htmlmain : html压缩
- gulp-csso: 压缩css
- gulp-babel : ES6转换js
- gulp-less:less语法转css
- gulp-uglify:压缩混淆js
- gulp-file-include 公共文件包含
- browsersync 浏览器实时同步
更多插件参照官网:https://gulpjs.com/plugins/
package.json
npm init -y
文件内容:
//项目依赖
npm install gulp --save -dev
//下载全部依赖,
npm install
//下载生产依赖 不会下载 package.json 中的 devDependencies
npm install --production
package-lock.json
记录包的版本,下载地址,记录模块之间的依赖关系