Nodejs学习篇01
first of all:自我笔记用
webstorm设置支持node语法支持和自动补充
file - setting - languages - node.js&npm
然后在Javascript中设置
如果列表中没有就去Download找node,emmmm,前提是安装包node.js这个大前提我就不用说了吧。
创建一个web服务器
nodejs 采用了commnJs的规范,首先引用http服务。
const http = require("http");
//request 获取url传来的信息
//response 给浏览器相应信息
http.createServer((request,response)=>{
//设置响应头
response.writeHead(200, {"content-Type": "text/html;charset=utf-8"});
response.write("我正在学习nodejs\n");
response.end("响应结束");
//绑定端口
}).listen(8081);
url获取
我在学习的时候,看着公开课视频里采用的是url模块,但是目前这个模块不符合规范已经被弃用了,主要可以采用方式用如下
querystring模块
const http = require("http");
const queryString = require("querystring");
//request 获取url传来的信息
//response 给浏览器相应信息
http.createServer((request,response)=>{
//设置响应头
response.writeHead(200, {"content-Type": "text/html;charset=utf-8"});
//把url的参数部分丢入parse里面
let params = queryString.parse(request.url.split("?")[1]);
response.write(JSON.stringify(params));
response.end("响应结束");
//绑定端口
}).listen(8081);
浏览器地址填写“http://localhost:8081/abc?name=sue&psd=sss”试试看?
URL类
//两个构造参数,第一个是url参数部分,第二个是域名或者访问服务地址
let queryData = new URL(`${request.url}`, 'http://localhost:8081');
//众所周知,能get就可以set
console.log(queryData.searchParams.get("name"));
对了,每次请求都是两次,一次是单纯请求图标,把它规避了就可以
if(request.url !== ‘/favicon.ico’){
//url操作
}
webstorm热部署
先全局安装supervisor
npm install -g supervisor
用supervisor代替node来启动就好了
nodejs项目启动的话,如下找到你npm目录下安装的superisor.cmd就好了
模块化
暴露:
//这里是exports,别和ES6搞混
exports.fool={
name: "sueXiaoxie",
age: 21,
}
引用
let fool = require('path/js文件').fool
node默认会引入一个文件夹下的index.js,所以一个文件夹下的所有暴露方法属性都引入index,然后直接引用这个文件夹名就可以,想改变个默认需要在此文件夹下做一个package.json(cmd:npm init --yes)的配置,在key为main的配置入口文件。
npm install
-g:等同于 --global 安装在全局目录下,不会写入package.json;
-s: 等同于 --save, 安装在本地项目目录下,并写入package.json的dependencies中;
-d:等同于 --save-dev,安装在本地项目目录下,并写入package.json的devDependencies中;
@版本号
package.json
用于描述项目
生成命令为:npm init --yes
内部内容:
//所有通过--save写入的依赖
"dependencies": {
"axios": "^0.18.0",//版本号,^表示第一位版本号不变;后两位取最新
//~表示前两位版本号不变,最后一位取最新
//*表示全部取最新的版本
//什么都不加,则表示固定版本,不做任何版本修改
},