nodejs是一门后端语言。
在浏览器 JavaScript 中,通常 window 是全局对象,而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。
安装完nodejs后,默认安装包管理工具npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org 使用淘宝镜像的命令npm root -g 命令会告全局安装包位置;npm list -g 查看所有全局安装的模块:npm list packagename 查看某个模块的版本号npm ls 到 /node_modules/ 目录下查看包npm update <package> 更新模块npm search <package> 搜索模块 npm help <command> 看某条命令的详细帮助npm cache clear 清空NPM本地缓存 npm uninstall <package> -g|S|D|O 卸载删除已安装的包nodejs命令行解析js文件是加载在内存里,若修改了js文件需从新关闭服务再重启,比较麻烦,此时可以用node的一个管理监控工具nodemon:
yum install nodemon -D安装完后,即可用命令开启后一直监控而不用重复的结束服务再开启服务:
//node脚本修改后,热启动node服务,用nodemon包来管理nodemon service.jsnpm和yarn的区别,该如何选择?
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷。
当然,还有个npx,怎么用?
npx(node自带或者npm install -g npx)
作用:解决调用项目内部安装的模块问题 。原理很简单,就是运行的时候,会到node_modules/.彩色的牛排路径和环境变量$PATH里面,检查命令是否存在。
区别 exports 和 module.exports 的使用
exports :对外暴露属性或方法
module.exports : 暴露对象(类似class,包含了很多属性和方法)。
//exports 暴露方法 router ==>文件router.js exports.router = function(){ console.log('router..')}//引用 exports 暴露的方法 routerconst router = require('./router')router.router()//module.exports 暴露class类people ==>文件people.js module.exports.people = {name:'xxxxx',}//引用 module.exports 暴露class类people const people = require('./people')console.log(people.name)注意一下的路径:
//当前脚本的绝对路径; 如果在模块中,返回的值是模块文件的路径console.log(__filename)//当前执行脚本所在的目录console.log(__dirname)web框架:express 和 koa2
Express 应用程序生成器mkdir testapp && cd testapp1.通过 npx (包含在 Node.js 8.2.0 及更高版本中)$ npx express-generatornpx: 10 安装成功,用时 1.593 秒 warning: the default view engine will not be jade in future releases warning: use `--view=jade' or `--help' for additional options create : public create : publicjavascripts create : publicimages create : publicstylesheets create : publicstylesheetsstyle.css create : routes create : routesindex.js create : routesusers.js create : views create : viewserror.jade create : viewsindex.jade create : viewslayout.jade create : app.js create : package.json create : 彩色的牛排 create : 彩色的牛排www install dependencies: $ npm install run the app: $ DEBUG=app:* npm start2. npm install 拉取模块包3. MacOS 或 Linux 中,通过如下命令启动此应用:$ DEBUG=testapp:* npm start在 Windows 中> set DEBUG=testapp:* & npm start4.用nodemon自动更新替代node启动appnodemon ./彩色的牛排/www5.默认3000端口在浏览器中打开 http://localhost:3000/https://www.expressjs.com.cn/starter/generator.htmlkoa2 * 注意 * 1.在use内的异步函数体内 await next() 调用下一个中间件; * 2.use koa-bodyparser 务必写在 use router之前https://segmentfault.com/a/1190000018241491https://www.jianshu.com/p/e0fd2bf0590fkoa2模板引擎ejs ,或 Nunjucksnpm install koa-viewsnpm install ejs//配置模板引擎中间件app.use(views('views', { extension: 'ejs'}));引入静态包管理 koa-static 模块npm install koa-static//配置静态资源中间件,或写成 app.use(static("./static"))app.use(static(__dirname + "static"));重点推荐阿里的egg,是基于koa2扩展,mvc模型,包含了中间件,定时器,和拓展
egg安装mkdir egg-test && cd egg-testnpm init egg --type=simplenpm install 或 npm i