Node.js学习笔记02

简介: Node.js学习

代码的部署与组织

要添砖先搭框架,现代楼房遵循的原理,我们编写程序也是一样的。

  • 模块路径解析规则
  1. 内置模块直接调用,例如:require('fs');
  2. node_modules目录
    这里一般说的是我们npm install后的模块,也是可以直接调用,比如:require('react');
  3. NODE_PATH环境变量
    与PATH环境变量类似,NodeJs允许通过NODE_PATH指定额外的模块搜索路径。
  • 包(package)
  • 人大代表就是代表我们每个人民去发表大家的意见。这里的包就相当于人大代表,人民就相当于子模块。
  • 因此我们需要一个入口文件entry.js来集合其他子模块。
  • 但是我们引入包的时候还是要require('##/entry.js'),显得并不是很好,于是在包目录下创建一个package.json文件配置路径,直接访问包。
    例如:

-test/

   -lib/

       part1.js

       part2.js

       entry.js

   package.json

  • package.json如下

{

   "name":"test",

   "main":"./lib/entry,js"

}

  • 这样一来可以直接require(./test)加载模块
  • 命令行程序
  1. 使用NodeJS编写的东西,要么是一个包,要么是一个命令行程序,而前者最终也会用于开发后者。因此我们在部署代码时需要一些技巧,让用户觉得自己是在使用一个命令行程序。
  2. 如果我们已经把程序编写完成,把该程序放在/home/user/bin/node-echo.js,这样用户在任何位置都可以命令运行这个程序

node-echo Hello World

  • Linux
  1. 在Linux系统下,我们可以把JS文件当作shell脚本来运行,从而达到上述目的,具体步骤如下:
  1. 在shell脚本下,我们用#!来注释当前脚本使用的解析器,因此需要在node-echo.js文件注明#! /usr/bin/env node
  2. 然后用下面的命令赋予node-echo.js权限

$ chmod +x /home/user/bin/node-echo.js

  1. 最后,我们在PATH环境变量中指定的某个目录下,例如在/usr/local/bin下边创建一个软链文件,文件名与我们希望使用的终端命令同名,命令如下:

$ sudo ln -s /home/user/bin/node-echo.js /usr/local/bin/node-echo

  • Windows
    windows下需要我们通过.cmd解决问题。假设node-echo.js存放在C:Usersuserbin目录,并且该目录已经添加到PATH环境变量里了。接下来需要在该目录下新建一个名为node-echo.cmd的文件,文件内容如下:

@node"C:\User\user\bin\node-echo.js" %*

  • 工程目录

   - test/ 总目录

        -bin/ 命令代码

        -public/ 文档代码

        -lib/

        -node_modules/ 第三方包

        -tests/ 存放测试用例

    package.json 原数据文件

    README.md 说明文件

  • NPM
  1. 这个很简单,最多是用来下载第三方包,命令为npm install ###
相关文章
|
2月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
2月前
|
Prometheus 监控 Cloud Native
prometheus学习笔记之node-export
prometheus 监控 node-exporter
|
1月前
|
JavaScript 前端开发
【干货分享】JavaScript学习笔记分享
【干货分享】JavaScript学习笔记分享
57 0
|
2月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
4月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
39 0
|
6月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
64 0
webgl学习笔记3_javascript的HTML DOM
|
6月前
|
JavaScript 前端开发 Java
webgl学习笔记2_javascript基础快速学习
webgl学习笔记2_javascript基础快速学习
51 0
|
6月前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
6月前
|
存储 JavaScript
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
48 0