nodejs深入浅出读书笔记(二)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nodejs深入浅出读书笔记(二),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2055字,纯文字阅读大概需要3分钟。
内容图文
![nodejs深入浅出读书笔记(二)](/upload/InfoBanner/zyjiaocheng/635/eefd7e314ed1483da8b9b03f78f600fb.jpg)
CommonJS 规范
-- CommonJS为JavaScrip定了一个美好的愿景,就是希望它可以在任何地方使用
a.没有模块系统
b.标准库较少。
c.没有标准接口
d.缺乏包管理器
2.CommonJS模块规范
a.模块的引用
var math = require('math')
console.log(math.xxxx)
b.模块定义
export.add = function()
3.nodeJs模块规范
a.Node依次查找.js、.json、.node的文件
b.本地安装包的方式只需为npm指明package.json文件所在的位置
4.npm钩子
package.json中的scripts命令就是让包在安装或者卸载过程中提供钩子机制
5.npm包的发布
1.npm login || npm adduser 然后按提示操作
2.进入到要上传的文件夹,在package同级目录下面执行npm publish .
注意:npm发的邮件有可能被qq邮箱视为垃圾邮件
6. npm包的安装
npm install xxxx
7. 多人发布包,增加,删除,列出
npm owner ls <package name>
npm owner add <user> <package name>
npm owner rm <user> <package name>
8.分析包
npm list
9.npm包平台的问题
a.上传者的水平不一,所以质量性能方面有待验证
b.包能在服务器端运行,需要考虑安全问题
10.鉴于网络的原因,commonjs为服务器端js指定的规范并不适用于前端
这样就产生了AMD规范,Asynchronous Module Definition 即
异步定义模块,是commondjs的一个延伸
amd规范定义模块的方式define(function() { var exports = {}; exports.sayHello = function() { alert('Hello from module: ' + module.id); }; return exports; });
11.cmd规范主要由国内的玉伯提出,与amd规范的区别主要在于定义模块和引入依赖的部分。
amd需要在声明时候指定所有的依赖,通过形参传入依赖到模块内容中define(['dep1', 'dep2'], function (dep1, dep2) { return function () {}; });
cmd 规范更接近commonjs规范的定义,cmd支持动态引入依赖define(factory); define(function(require, exports, module) { // The module code goes here });
12.兼容多种模块规范;(function (name, definition) { // 检测下文环境是否为AMD或CMD var hasDefine = typeof define === 'function', // 检查下文环境是否为Node hasExports = typeof module !== 'undefined' && module.exports; if (hasDefine) { // AMD环境或CMD环境 define(definition); } else if (hasExports) { // 定义为?通Node模块 module.exports = definition(); } else { // 将模块的执行结果挂在window变量中,在浏览器中this指向window this[name] = definition(); } })('hello', function () { var hello = function () {}; return hello; });
内容总结
以上是互联网集市为您收集整理的nodejs深入浅出读书笔记(二)全部内容,希望文章能够帮你解决nodejs深入浅出读书笔记(二)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。