{"_id":"170319-haha","_rev":"2-4f5a7c8aac175772a9f41ce26ec771fe","name":"170319-haha","description":"- node 主线是单线程的，进程中包含线程，一个进程中包含多个线程，node中一个进程只能包含一个线程，如果想开多个进程，node允许开子进程","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"170319-haha","version":"1.0.0","description":"- node 主线是单线程的，进程中包含线程，一个进程中包含多个线程，node中一个进程只能包含一个线程，如果想开多个进程，node允许开子进程","main":"1.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","_id":"170319-haha@1.0.0","_shasum":"d129486d51ccb1d43831f1759d33d581a7c9558e","_from":".","_npmVersion":"3.10.9","_nodeVersion":"7.1.0","_npmUser":{"name":"1216785325","email":"1216785325@qq.com"},"dist":{"shasum":"d129486d51ccb1d43831f1759d33d581a7c9558e","tarball":"https://registry.npmjs.org/170319-haha/-/170319-haha-1.0.0.tgz","integrity":"sha512-ebwl6C63bq1qzmT18epkjc2lu6bG/ZT2TsP8DKtnR9WbOeiXMvFwj6KXps2H7/TpJD2s79x7ApqoEDrxLyT0lA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWBP4DK6S/Xwcai4kxcoj91UtdJrHsPkDQ0ySyrypblwIgSd2ttT1+i0HioR0ZDjT3Y/wwfrbjPD/OOsHV3wa3nK8="}]},"maintainers":[{"name":"1216785325","email":"1216785325@qq.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/170319-haha-1.0.0.tgz_1489912633556_0.8725044482853264"}}},"readme":"##单线程和多线程\r\n- node 主线是单线程的，进程中包含线程，一个进程中包含多个线程，node中一个进程只能包含一个线程，如果想开多个进程，node允许开子进程\r\n\r\n##同步和异步\r\n- 代码从上到下执行，先走同步再走异步，异步不会阻塞主线程\r\n\r\n##阻塞和非阻塞\r\n- 针对内核来说的，非阻塞是异步的前置条件\r\n\r\n##回调\r\n- 用回调来解决异步编程问题\r\n\r\n##异步\r\n文件读写  callback  定时器   \r\n能用异步不用同步\r\n\r\n##事件环\r\n\r\n##node全局对象\r\n- 在任意地点可以直接访问的\r\n- 在global上挂载的都是全局对象\r\n\r\n\r\n\r\n##js中的模块\r\n- （seajs  cmd, requirejs  amd ,  node commonjs）\r\n- cmd  就近依赖, amd  依赖前置\r\n- 单例（不能保证完全解决冲突，调用时调用名字过长）\r\n- 闭包 node中实现模块化采用的是读写 \r\n\r\n##commonjs（提高了可维护性，有利于分工协作，高内聚低耦合）\r\n- 如何定义一个模块  创建一个js文件，每一个文件就是一个模块，多个模块可以组成一个包\r\n- 如何导出一个模块  exports/module.exports\r\n- 如何使用一个模块  require\r\n\r\nrequire 是同步的\r\n有回调函数 有返回值 一般都是异步的\r\n\r\n使用某个模块中是变量，可以挂载在全局下，让所有模块来使用\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n### 安装nrm源切换工具\r\n```\r\nnpm i nrm -g\r\n```\r\n### 增加珠峰源\r\n```\r\nnrm ls\r\nnrm add zf http://172.18.1.139\r\nnrm use zf\r\n```\r\n\r\n\r\n\r\nnpm install nodeppt -g\r\n\r\n###http-server\r\nnpm install http-server -g\r\n\r\n启动服务\r\nhttp-server -p 端口号\r\n\r\n卸载\r\nnpm uninstall http-server -g\r\n\r\n本地安装\r\n初始化依赖文件（package.json）\r\nnpm init -y\r\n\r\n1.开发依赖\r\nnpm install gulp (--save-dev)或者-D\r\n\r\n2.项目依赖\r\nnpm info jquery\r\nnpm install jquery@版本号  (--save)或者-s \r\n\r\n3.发布自己的包\r\n- package.json\r\n    - name 不能和已发布的包重名\r\n    - main里对应的主文件写一个\r\n- 发布要切换到npm源\r\n- 添加用户 有的话可以登录\r\nnpm addUser\r\n\r\n发布\r\nnpm publish \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","maintainers":[{"name":"1216785325","email":"1216785325@qq.com"}],"time":{"modified":"2022-06-12T14:06:01.474Z","created":"2017-03-19T08:37:13.785Z","1.0.0":"2017-03-19T08:37:13.785Z"},"keywords":[],"license":"ISC","readmeFilename":"readme.md"}