1.ES6模块化
将一组模块(及其依赖项)以正确的顺序拼接到一个文件(或一组文件)中的过程。
模块化优势:
①比较利于团队协作
②防止变量污染
③ES6的模块化既可以用在客户端又可以用在服务器。
2.包管理工具
包管理工具npm(node package manager),
之前的开发不利于进行包(库文件、框架)管理,因为每一个包有可能会有不同版本,如果合作开发的时候,每一个人都有可能按照自己的喜好,使用某一类版本。有可能造成项目代码冲突或者代码崩溃。node自带的有一个包管理工具npm。
npm相当于把所有的包放到一个平台上,需要的时候,可以去下载。自带的也有一些配置文件,可以约束用户使用软件的版本。
有了npm以后,合作开发的时候,只需要小组组长把所有依赖都写好,然后发送package.json文件给小组成员,各个成员收到文件以后,只需要npm i就可以生成包
node_modules存储的是下载的包,一般在项目传递的时候node_modules内的包无需传递。
使用npm项目开发流程
1、新建项目文件夹 文件夹的名字一定要是英文
2、进入项目文件夹 初始化项目 npm init -y
生成package.json文件 依赖文件(所有需要的包的版本都可以写在该文件)
3、下载包/文件 npm install 文件名字@版本号(如果不限制版本号,会下载最新的)
–save(-S)上线以后也需要 /
–save-dev(-D)测试和开发环境需要,以后不需要/
-g全局安装
如果不专门写依赖,有可能写不进去package.json文件里面
4、如果之前package.json文件已经写过依赖 直接npm install/i(或者在其他人电脑上下载文件名录)
5、卸载文件 npm/cnpm uninstall 文件名字
npm其实是一个平台,上面放了很多多安装包。自己也可以定义包放在上面
npm是一个国外的平台,有时候网络不好的情况下,下载会比较慢,可以使用国内镜像cnpm或者yarn
cnpm使用方式 首先需要安装
https://www.oschina.net/p/cnpm?hmsr=aladdin1e1
安装以后 cnpm install/i 文件名字 和之前使用方式一样,只是多了c
如果网络不好的情况下,有可能下载失败,重新下载包即可。
把项目拷贝别人的时候,node_modules不要拷贝。拷贝的过程中有可能丢失文件。 项目发给别人之前删除node_modules 别人拿到以后直接npm install
npm只是node的一个功能而已
3.ES6模块化
ES6模块化语法,暂时不支持。需要ES6转化为ES5. 需要babel转化
①使用npm创建工程
$npm init
②安装babel,本地安装
$ npm install --save-dev babel-cli 安装命令行(执行babel命令行执行,进行编译)
③编写配置文件
.babelrc 无文件名创建文件,文件内填入以下内容
{
"presets": ["es2015"],
"plugins": []
}
④转换依赖包
$ npm install --save-dev babel-preset-es2015 安装将ES6转换成ES5依赖包
⑤package.json改写
在package.json内添加语句
⑥编写ES6源文件
在文件夹中创建src文件,创建源文件
⑦执行编译命令
npm run build
node xxx.js 在node环境下运行编译的js文件