前端模块化主要解决问题1.命名冲突2.文件依赖和顺序前端模块化规范1.CommonJS规范:Nodejs模块化遵循CommonJS规范2.AMD规范:异步模块规范,即RequireJS在推广过程中,强烈推荐模块定义的标准化输出;3、UMD规范:兼容AMD和commonJS规范,也兼容全局引用的方式;4、CMD规范:SeaJS正在推广中。模块定义标准化输出,尊重紧密依赖;5.ES6模块化规范:ES6模块设计思想是尽可能静态化,这样模块的依赖关系,以及输入输出变量都可以在编译时确定;Nodejs使用CommonJS前端使用的模块化开发规范,是ES6前端模块化CommonJS应用场景。CommonJS是Nodejs模块化实现使用的规范。只能用于Nodejs,不能用于浏览器。导出varnum=16;varsayHello=function(lang){returnhelloInLang[lang];}module.exports.num=num;module.exports.sayHello=sayHello;//或写exports.num=num;exports.sayHello=sayHello;importvarm1=require('./lib/greeting');引入模块加载机制1、核心模块(Nodejs内置模块)varhttp=require('http');2、第三方模块Node使用NPM(NodePackageManager)安装第三方模块NPM会将模块安装(或下载)到应用程序根目录下的node_modules文件夹中。加载模块时,node会先在核心模块文件夹中搜索,然后到node_modules文件夹中。搜索varcm=require('cm');3.自定义模块(文件和文件夹)文件可以放在任意位置加载模块文件时加上路径即可varcustomModule=require('./customModule');Node首先会在这里面搜索package.json文件文件夹。如果存在,Node将尝试解析它并加载main属性指定的模块。block文件不存在(或者package.json没有定义main属性),Node默认加载这个文件夹下的index.js文件(main属性其实是NodeJS的扩展,CommonJS标准定义不包含这个字段)让demo=require("./modules/demo");开发环境设置(3m安装方式)nvm(推荐)1、下载nvm-setup.exe安装文件2、修改setting.txt文件(nvm安装目录),在末尾添加node_mirror:https://npm.taobao.org/mirrors/node/npm_mirror:https://npm.taobao.org/mirrors/npm/3。使用查看已安装版本:nvmlist查看可安装版本:nvmlistavailable安装指定版本:nvminstall10.15.1切换节点版本:nvmuse10.15.1安装好nodejs后,顺便也安装了npm,即可使用下面2条命令检测node-vnpm-vnpmswitchsourcenpmconfigsetregistryhttps://registry.npm.taobao.orgnrm(switchsourceuse)1.安装:npminrm-g--registry=https://registry.npm.taobao.org2.查看所有支持的源:nrmls3,切换npm源:nrm使用taobaonode-sass安装失败的解决方法https://segmentfault.com/a/11...卸载旧版本nodejs如果你的电脑上已经安装过nodejs(使用3m安装方式之前),必须先卸载,否则可能会出现奇怪的问题1.卸载nodejs本身2.手动删除nodejs目录下的node_modules目录例如:c:\ProgramFiles\nodejs\node_modules3.手动删除c:\users\你的账户名\node_modulesNPM项目工程初始化安装//当项目没有package.json文件时,使用如下命令npminit-y//物品如果项目中有package.json文件,但是没有安装模块,使用如下命令npminstall//根据package.json,安装模块//全局安装,一般用于安装全局工具(例如:vue-cli等,publicmodules)npminstall-gpackageName//缩写npmi-gpackageName//部分安装,分为生产环境和开发环境npminstallpackageName--save//生产环境的模块dependsdepends会在package.json的dependencies中添加入口//简称npmipackageName-SnpminstallpackageName--save-dev//开发环境依赖的模块会在package.json的devDependencies中添加入口//简称npmipackageName-DUpdateanddelete//NPMupdatenpmupdate//更新所有本地模块npmupdate-g//更新所有全局模块npmupdate-gpkg//更新一个全局模块npmupdatepkg//更新一个本地模块//npmdeletenpmuninstall-g
