加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Node.js新手上路——下手撸一个静态资源处事器

发布时间:2019-03-16 03:02:00 所属栏目:建站 来源:携码跑路
导读:简介 本文先容了一个简朴的静态资源处事器的实例项目,但愿能给Node.js初学者带来辅佐。项目涉及到http、fs、url、path、zlib、process、child_process等模块,涵盖大量常用api;还包罗了基于http协议的缓存计策选

这样一套缓存计策在当代前端项目系统下照旧较量吻合的,尤其是对付spa应用来讲。我们但愿index.html可以或许担保每次向处事器验证是否有更新,而别的的文件同一当地缓存一个月(本身定);通过webpack打包或其他工程化方法构建之后,js、css内容假如产生变革,文件名响应更新,index.html插入的manifest(或script链接、link链接等)清单会更新,担保用户可以或许及时获得最新的资源。

虽然,缓存之路万万条,得当营业才重要,各人可以机动拟定。

4. 呼吁行参数

作为一个在呼吁行执行的器材,怎么能不象征性的支持几个参数呢?

  1. const config = {  
  2.     //从呼吁行中获取端标语,假如未配置回收默认  
  3.     port: process.argv[2] || 2234,  
  4.     hostname: "127.0.0.1"  
  5. }  
  6. server.listen(config.port, config.hostname, () => {  
  7.     console.log(`server is running on http://${config.hostname}:${config.port}`);  
  8. }); 

这里就简朴的举个栗子啦,各人可以自由施展!

5. 自动打开赏识器

固然没太大卵用,但照旧要加。我就是要让你们知道,我加完之后什么样,你们就是什么样 :-( duang~

  1. const exec = require("child_process").exec;  
  2. server.listen(config.port, config.hostname, () => {  
  3.     console.log(`server is running on http://${config.hostname}:${config.port}`);  
  4.     exec(`open http://${config.hostname}:${config.port}`);  
  5. }); 

6. process.cwd()

用process.cwd()取代__dirname。

我们最终要做成一个全局而且可以在恣意目次下挪用的呼吁,以是拼接path的代码修改如下:

  1. //__dirname是当前文件的目次地点,process.cwd()返回的是剧本执行的路径  
  2. _path = path.join(process.cwd(), _path); 

step3 宣布

根基上我们的代码都写完了,可以思量宣布了!(不宣布到npm上何故表现逼格?)

step3.1 package.json

获得一个设置相同下面所示的json文件:

  1. {  
  2.     "name": "here11",  
  3.     "version": "0.0.13",  
  4.     "private": false,  
  5.     "description": "a node static assets server",  
  6.     "bin": {  
  7.         "here": "./bin/index.js"  
  8.     },  
  9.     "repository": {  
  10.         "type": "git",  
  11.         "url": "https://github.com/gww666/here.git"  
  12.     },  
  13.     "scripts": {  
  14.         "test": "node bin/index.js"  
  15.     },  
  16.     "keywords": [  
  17.         "node"  
  18.     ],  
  19.     "author": "gw666",  
  20.     "license": "ISC"  

个中bin和private较为重要,别的的凭证本身的项目环境填写。

bin这个设置代表的是npm i -g xxx之后,我们运行here呼吁所执行的文件,“here”这个名字可以随意起。

step3.2 声明剧本执行范例

在index.js文件的开头加上:#!/usr/bin/env node

不然linux上运行会报错。

step3.3 注册npm账号

始末贴一手呼吁,还不清晰自行百度:

没有账号的先添加一个,执行:

npm adduser

然后依次填入

Username: your name

Password: your password

Email: yourmail

npm会给你发一封验证邮件,记得点一下,否则会宣布失败。

执行登录呼吁:

npm login

执行宣布呼吁:

npm publish

宣布的时辰记得把项目名字、版本号、作者、客栈啥的改一下,别填成我的。

尚有readme文件写一下,好歹汇报别人咋用,根基上和文首所说的用法是一样的。

好了,齐活。

step3.4

还等啥啊,赶紧把npm i -g xxx 这行呼吁发给你的小搭档啊。什么?你没有小搭档?告别!

本文项目源码地点:https://github.com/gww666/here

【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读