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 ...
随机推荐
- NetCore MemoryCache使用
引用类库 1.Install-Package Microsoft.Extensions.Caching.Memory MemoryCacheOptions 缓存配置 1.ExpirationScanF ...
- PHP7.3安装event扩展
安装支持库libevent wget https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libe ...
- 安卓AlertDialog四种对话框的最科学编写用法
首先我们上图: xml的代码如下,用于编写按钮: <?xml version="1.0" encoding="utf-8"?> <Linear ...
- 生命周期感知 Lifecycle
奉上翻译原文地址: 处理生命周期 :翻译过程中加上了自己的一点理解.理解不对的地方直接评论就好. 生命周期感知组件可以感知其他组件的生命周期,例如 Activity,Fragment等,以便于在组件的 ...
- 一个神奇的HTML标签-----marquee
今天无意中发现了一个html标签 - <marquee></marquee>可以实现多种滚动效果,无需js控制. 语法:<marquee>...</marqu ...
- Vue和React的区别,以及如何选择?
简介 React:React是一个用于创建可重用且有吸引力的UI组件的库.它非常适合代表经常变化的数据的组件. Vue:Vue.js是一个开源JavaScript框架,能够开发单页面应用程序.它还可以 ...
- SAP QM 检验批里某检验特性的取样数量跟检验计划设置不符?
SAP QM 检验批里某检验特性的取样数量跟检验计划设置不符? 如下检验批号 890000045939, 结果录入界面,第二个特性里,取样数量是50个.实际上,该检验批对应的检验计划里, 采样过程L- ...
- vue--CRUD
1. Create this.$http.post("http://localhost:3000/users",newCustomer).then(function (respon ...
- python中使用adb命令的方法
在python中使用adb命令,可以导入os模块. 1 简单的adb命令. 如:os.system('adb version') 2 稍微复杂的adb命令. 如:os.system('adb shel ...
- TCP/IP网络协议初识
目录 一.什么是协议? 二.什么是TCP/IP协议? 三.TCP/IP为什么这么多协议? 四.TCP/IP协议为什么分层? 五.TCP/IP协议如何入门? 六.TCP/IP 的分层: 七.各协议层打包 ...