一、什么是node.js?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
Node.js 的包管理器 npm,成为世界上最大的开放源代码的生态系统。
Node.js 能够解析JS代码(没有浏览器安全级别的限制)提供不少系统级别的API,如:- 文件的读写 fs - 进程的管理 procress- 网络通讯 socket- ……html
二、为何要学习nodejs?
node-webkit、nodeOs、express、koa、Jade、EJS、Forever、PM二、Log.i、Grunt、Gulp、Webpack、Mocha、Karmanode
三、node.js网站
工具:https://nodejs.org/en/
工具安装:https://www.runoob.com/nodejs...
链接mongdob:https://www.runoob.com/nodejs...
文档:http://nodejs.cn/webpack
四、npm指令
npm -V / npm --version 查询版本
npm install -g cnpm --registry=https://registry.npm.taobao.org 淘宝镜像
cnpm -V 查询版本
npm install supervisor nodemon -g supervisor:用于运行nodejs程序的管理程序 / nodemon:在开发node.js应用程序期间使用的简单监视器脚本。
npm install pm2 -g 具备内置负载均衡器的Node.JS应用程序的生产过程管理器。 web
五、新建服务器server.js
启动指令:node server.js/nodemon server.js
let http = require("http"); //node要导入http模块
let hostname = "localhost"; //主机
let port = 3000; //端口
http.createServer((req, res) =>{mongodb
if(req.url !== "/favicon.ico"){ console.log(req.url); res.writeHead(200, {"Content-Type":"text/html;charset=utf-8"}); res.write(`<h2>good good study</h2>`) res.write(`<h2>day day up</h2>`) res.write(`<h2>we are good boy</h2>`) res.end(); }
}).listen(port, hostname, () =>{express
console.log(`this server is running at http://${hostname}:${port}`);
})npm
六、什么叫模块化开发?
复杂逻辑代码多的功能分而解之为独立高度封装的单元模块。浏览器
七、CommonJs规范
模块定义 define
模块接口暴露 exports
模块导入 require
注意:
(1)模块化开发 AMD异步模块定义(require.js) CMD同步模块定义(sea.js)
(2) NodeJs && webpack 是 CommonJS 规范 的一种实现 ;CommonJS 规范 是 NodeJs && webpack 的 规范 和规则
(3)全部的 js 文件 自己就是 一个模块 安全
八、接口暴露
(1)module.exports = {};
let arr = ["小红", "小黄", "小明"];
let str = "我要飞的更高,飞的更高";
let obj = {服务器
age : "18", name : "jack", content : "money"
}
function setUsername(username){
return `${username} 说:every day day up`;
}
module.exports = {
arr, str, obj, setUsername
}
(2)exports key = value;
const getSomeone=(someone)=>{
return `<h3>${someone} word hard for 12000 RMB </h3>`;
}
exports.getSomeone =getSomeone;
exports.word = <h3>1807 大家努力了吗</h3>
;
(3)export default
export default{
say(){}
}export default function say(){}