nodejs编写后台
1.引入核心模块
2.服务器监听窗口
3.创建服务器对象
4.设置服务器监听窗口

寻找路径
// 引入核心模块
const http = require('http') // 服务器监听窗口
const port =3000;
// const port =process.argv[2];
// console.log(process.argv)
// 创建服务器对象
const serve = http.createServer((req,res)=>{
let fileName=''; if(req.url==='/'){
fileName='/public/index.html'
}else{
fileName='/public'+req.url;
}
console.log(fileName);
res.end(fileName)
})
// 设置服务器监听窗口
serve.listen(port,()=>{
console.log(`serve runnint at http://localhost${port}`)
})
全局变量
以下几个变量虽然看起来是全局的,但其实并不是,它们仅存在于模块范围内。
- require(),模块作用域中的全局方法,用于导入其他模块
- module,表示当前模块
- exports,module.exports属性的别名,用于导出模块成员
- __dirname,表示当前文件所在的目录
- __filename,表示当前文件的名称(名称前面具有完整的路径)

// 引入核心模块
const http = require('http')
const path = require('path')
// 服务器监听窗口
const port =3000; // 创建服务器对象
const serve = http.createServer((req,res)=>{
let fileName=''; if(req.url==='/'){
fileName='/public/index.html'
}else{
fileName='/public'+req.url;
}
// console.log(fileName);
// 根目录 res.end(path.join(__dirname,fileName))
// res.end(__dirname+fileName)
})
// 设置服务器监听窗口
serve.listen(port,()=>{
console.log(`serve runnint at http://localhost${port}`)
})
读取文件
// 引入核心模块
const http = require('http')
const path = require('path')
const fs = require('fs')
// 服务器监听窗口
const port =3000; // 创建服务器对象
const serve = http.createServer((req,res)=>{
let fileName=''; if(req.url==='/'){
fileName='/public/index.html'
}else{
fileName='/public'+req.url;
}
// console.log(fileName);
// 根目录 // res.end(path.join(__dirname,fileName))
// res.end(__dirname+fileName) // 读取文件
fs.readFile((__dirname+fileName), 'utf8',(err,data)=>{
// fs.readFile((__dirname+fileName),{encoding: 'utf8', flag: 'r'},(err,data)=>{
if(err){
res.statusCode=404;
res.statusMessage='not Found';
res.setHeader('content-Type','text/html;charset=utf-8')
res.end('这里什么都没有')
}else{
res.statusCode=200;
res.statusMessage='ok';
res.setHeader('content-Type','text/html;charset=utf-8')
res.end(data)
}
})
})
// 设置服务器监听窗口
serve.listen(port,()=>{
console.log(`serve runnint at http://localhost${port}`)
})


在package.json文件配置命令
当我们要执行的命令比较复杂时,可以将该命名配置到package.json文件中scripts字段中,并为该命令指定一个别名;
"scripts": {
"serve": "node server.js"
},
上面的代码为 node server.js指定了一个别名serve,然后我们可以通过npm的子命令run去执行该命令:
npm run serve
如果命令的别为start,则执行时可以省略子命令run
"scripts": {
"start": "node server.js",
},
npm start
nodejs编写后台的更多相关文章
- nodejs 编写(添加时间戳)命令行工具 timestamp
Nodejs除了编写服务器端程序还可以编写命令行工具,如gulp.js就是Nodejs编写的. 接下来我们来实现一个添加时间戳的命令: $ timestamp action https://www.n ...
- 步步为营-73-asp.net的简单练习(根据美工提供静态页面,编写后台代码)
说明:实际企业中开发分工是很明确,往往程序员根据美工提供的UI界面进行后台代码的编写. 1.1 原始HTML页面 1.2 使用aspx进行修改 这里使用到了三层架构 using System; usi ...
- Delphi编写后台监控软件
Delphi编写后台监控软件 文章来源:Delphi程序员之家 后台监控软件,为了达到隐蔽监控的目的,应该满足正常运行时,不显示在任务栏上,在按Ctrl+Alt+Del出现的任 ...
- 【MEVN架构】mongodb+ express + vue + nodejs 搭建后台
前端技术栈:vue2 + vuex + vue-router + webpack + ES6/7 + less + element-ui 服务端技术栈:nodejs + express + mongo ...
- forever让nodejs应用后台执行
nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人.如何让nodejs应用当成服务,在后台执行呢? 最简单的办法: $ nohup node app.js & ...
- nodejs 做后台的一个完整业务整理
大家知道js现在不仅仅可以写前端界面而且可以写后端的业务了,这样js就可以写一个全栈的项目.这里介绍一个nodejs + express + mongodb + bootstap 的全栈项目. 1.安 ...
- nodeJs编写的简单服务器
一.简单的nodeJs写的 http 服务器 1.先Hello world,创建最简单的 Node 服务器(server.js) var http = require("http" ...
- Nodejs以后台服务启动
1: 从网上查找 LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & 经多次实验一直没有成功 2:使用 forever ...
- [转]forever: 让nodejs应用后台执行
在LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Li ...
随机推荐
- Mysql基于Mysql Cluster+MysqlRouter的集群部署方案
http://note.youdao.com/noteshare?id=a61c4a6ff2b76e5305430eb66eb116e2&sub=4B4B6E8D0E2849F9B0DFB67 ...
- C#基础——break ,continue, return用法
- k8s~k8s里的服务Service
k8s用命名空间namespace把资源进行隔离,默认情况下,相同的命名空间里的服务可以相互通讯,反之进行隔离. 服务Service 1.1 Service Kubernetes中一个应用服务会有一个 ...
- Android高斯模糊实现方案
1.使用Glide Glide.with(this) .load(service.getImageUri()) .dontAnimate() .error(R.drawable.error_img) ...
- 更改Android设备System目录的文件的写入权限
有时候我们需要修改/system目录中文件的权限,比如将该目录下的脚本设置写入权限等,但该目录默认只有read权限,此时应该怎么办? 1.安卓设备请确保root;2.连接安卓设备,确保安卓设备打开了“ ...
- 阿里巴巴供应链平台事业部2020届秋招-Java工程师
阿里巴巴供应链平台事业部,2020届秋季校园招聘开始啦!Java开发工程师虚位以待,机会难得,占坑抓紧. 入职就发师兄,一对一师兄辅导. 在这里,你将有机会接触阿里集团的所有数据库.中间件等基础设施. ...
- Nacos 集群部署
关于nacos 集群部署,网上的示例往往不全或不可用,而官方的教程太简单了.官方也提供了一个 docker + nacos 的伪集群的 部署示例.但毕竟是 伪, 不能实际生产使用. 全网就几乎就没有 ...
- WebMvcConfigurationSupport 避坑指南
通过返回WebMvcConfigurationSupport 的方式, 默认会覆盖 Spring boot的自动配置, 导致配置失效静态资源无法访问:但是在WebMvcConfigurationadp ...
- C#构造方法(构造函数)
构造方法特点: 一 ,与类同名 public class Product { public int ID { get; set; } public String NAME { get; set; } ...
- Hadoop生态体系组件
目录: 一.本地数据集上传到数据仓库Hive 二.Hive的基本操作 三.Hive.Mysql.HBase数据互导 正文: 一.本地数据集上传到数据仓库Hive 1.实验数据集的下载 2.数据集的预处 ...