Ubuntu下,nodejs的初使用

1 安装

安装

sudo apt install nodejs
sudo apt install npm

查看版本

npm -v

升级

执行npm initnpm install之前先升级,不然容易出错。

npm install -g npm

2 使用

2.1 包

包的概念
package(nodejs) = project(django)

准备目录

需要自行创建根目录,并进入
否则 nodejs 会把当前目录当成根目录
你显然不想让它把 home 目录搞得乱七八糟

mkdir learn-nodejs
cd learn-nodejs

创建包

在当前目录生成 package.json、node_modules

npm init

填写的信息
test conmand :测试命令
repository :github库
keywords : github库的密码
其他信息从略

发布包

工作完成后,把文件推送到github仓库

npm publish		# 发布
npm unpublish <package>@<version>	# 撤销发布

2.2 模块

本地安装

在当前项目的 node_modules 子路径下安装

npm install express

全局安装

在当前 nodejs 的安装路径下安装

npm install -g express

全局安装 & 本地安装

全局安装用于命令行,本机使用
本地安装用于项目,随项目发布
我装nodejs干嘛来?当然是做项目,那就本地安装
发布前要在本地测试,那就全局安装
命令默认是本地,加个 -g变成全局

查看安装列表
全局

npm list -g

全局以及本地

npm list grunt

其他命令
卸载模块

npm uninstall express

更新模块

npm update express

搜索模块

npm search express

清空缓存

npm cache clear

2.3 package.json

name - 包名。

version - 包的版本号。

description - 包的描述。

homepage - 包的官网 url 。

author - 包的作者姓名。

contributors - 包的其他贡献者姓名。

dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。

repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。

main - 指定程序的主入口文件,require(‘moduleName’) 就会加载它。默认值是根目录下面的 index.js。

keywords - 关键字

2.4 版本号

NPM使用语义版本号来管理代码。

语义版本号构成:X.Y.Z

X:主版本号,Y:次版本号,Z:补丁版本号。

当代码变更时,版本号按以下原则更新。

如果只是修复bug,需要更新Z位。

如果是新增了功能,但是向下兼容,需要更新Y位。

如果有大变动,向下不兼容,需要更新X位。

申明第三方包依赖时,除了可依赖于一个固定版本号外,还可依赖于某个范围的版本号。

例如"argv": "0.0.x"表示依赖于0.0.x系列的最新版argv。

3 HelloWorld

创建包

mkdir learn-nodejs
cd learn-nodejs
npm init

创建文件

vim helloworld.js

输入内容

var http = require('http');
http.createServer(function (request, response) {
   
    // 发送 HTTP 头部 
    // HTTP 状态值: 200 : OK
    // 内容类型: text/plain
    response.writeHead(200, {
   'Content-Type': 'text/plain'});
    // 发送响应数据 "Hello World"
    response.end('Hello World\n');
}).listen(8080);
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8080/');

执行命令

node helloworl.js

用浏览器访问 http://127.0.0.1:8080/,显示Hello World。

4 使用Web模块

服务端
server.js

var http = require('http');
var fs = require('fs');
var url = require('url'); 
// 创建服务器
http.createServer( function (request, response) {
     
   // 解析请求,包括文件名
   var pathname = url.parse(request.url).pathname;   
   // 输出请求的文件名
   console.log("Request for " + pathname + " received.");   
   // 从文件系统中读取请求的文件内容
   fs.readFile(pathname.substr(1), function (err, data) {
   
      if (err) {
   
         console.log(err);
         // HTTP 状态码: 404 : NOT FOUND
         // Content Type: text/html
         response.writeHead(404, {
   'Content-Type': 'text/html'});
      }else{
                
         // HTTP 状态码: 200 : OK
         // Content Type: text/html
         response.writeHead(200, {
   'Content-Type': 'text/html'});         
         // 响应文件内容
         response.write(data.toString());        
      }
      //  发送响应数据
      response.end();
   });   
}).listen(8081); 
// 控制台会输出以下信息
console.log('Server running at http://127.0.0.1:8081/');

index.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>菜鸟教程(runoob.com)</title>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值