当前位置: 首页 > wzjs >正文

自己做网站开店中山外贸营销网站建设

自己做网站开店,中山外贸营销网站建设,机械网站建设比较好的,搜索引擎广告有哪些”你没想过也许是这个镇子对你来说太小了吗? 对我而言,这个小镇容不下我的雄心壮志。 “ 什么是 Node.js? Node.js是一个跨平台JS运行环境,使开发者可以搭建服务器端的JS应用程序 作用:使用 Node.js 编写服务器端程序…

”你没想过也许是这个镇子对你来说太小了吗? 对我而言,这个小镇容不下我的雄心壮志。 “

什么是 Node.js?

Node.js是一个跨平台JS运行环境,使开发者可以搭建服务器端的JS应用程序

 作用:使用 Node.js 编写服务器端程序

  ✓ 编写数据接口,提供网页资源浏览功能等等

  ✓ 前端工程化:为后续学习 Vue 和 React 等框架做铺垫

什么是前端工程化?

前端工程化:开发项目直到上线,过程中集成的所有工具和技术

Node.js 是前端工程化的基础(因为 Node.js 可以主动读取前端代码内容)

Node.js 为何能执行 JS?

首先:浏览器能执行 JS 代码,依靠的是内核中的 V8 引擎(C++ 程序)

其次:Node.js 是基于 Chrome V8 引擎进行封装(运行环境)

区别:都支持 ECMAScript 标准语法,Node.js 有独立的 API

 

 注意:Node.js 环境没有 DOM 和 BOM 等

使用 Node.js

需求:新建 JS 文件,并编写代码后,在 node 环境下执行。


 

模块:类似插件,封装了方法/属性

 fs 模块 - 读写文件

fs 模块是 Node.js 中用于与文件系统交互的核心模块。它提供了同步和异步的 API,用于执行文件操作,如读取、写入、删除、重命名文件等。

语法

(1)读取文件

异步读取

fs.readFile('file.txt', 'utf8', (err, data) => {if (err) {console.error('读取文件失败:', err);return;}console.log('文件内容:', data);
});
同步读取
try {const data = fs.readFileSync('file.txt', 'utf8');console.log('文件内容:', data);
} catch (err) {console.error('读取文件失败:', err);
}

(2)写入文件

异步写入
fs.writeFile('file.txt', 'Hello, Node.js!', 'utf8', (err) => {if (err) {console.error('写入文件失败:', err);return;}console.log('文件写入成功');
});
同步写入
try {fs.writeFileSync('file.txt', 'Hello, Node.js!', 'utf8');console.log('文件写入成功');
} catch (err) {console.error('写入文件失败:', err);
}

(3)追加内容

异步追加
fs.appendFile('file.txt', '\n追加内容', 'utf8', (err) => {if (err) {console.error('追加内容失败:', err);return;}console.log('内容追加成功');
});
同步追加
try {fs.appendFileSync('file.txt', '\n追加内容', 'utf8');console.log('内容追加成功');
} catch (err) {console.error('追加内容失败:', err);
}

(4)删除文件

异步删除
fs.unlink('file.txt', (err) => {if (err) {console.error('删除文件失败:', err);return;}console.log('文件删除成功');
});
同步删除
 
try {fs.unlinkSync('file.txt');console.log('文件删除成功');
} catch (err) {console.error('删除文件失败:', err);
}

path模块-路径处理

Node.js 代码中,相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件。

path 模块是 Node.js 中用于处理文件路径的核心模块。它提供了一系列工具函数,用于解析、拼接、规范化文件路径,以及提取路径中的信息(如文件名、扩展名等)。

所以,在 Node.js 代码中,使用绝对路径更好。

路径拼接:path.join()

将多个路径片段拼接成一个完整的路径,自动处理路径分隔符。

__dirname 内置变量(获取当前模块目录-绝对路径)

const fullPath = path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
console.log(fullPath); // 输出: /foo/bar/baz/asdf

http模块

http 模块是 Node.js 中用于创建 HTTP 服务器和客户端的核心模块。它提供了构建 Web 服务器、处理 HTTP 请求和响应的功能。以下是 http 模块的详细介绍和常见用法:


1. 引入 http 模块

在 Node.js 中,使用 require 引入 http 模块:

const http = require('http');

2. 创建 HTTP 服务器

使用 http.createServer() 方法创建一个 HTTP 服务器。

示例:创建一个简单的 HTTP 服务器

const server = http.createServer((req, res) => {res.statusCode = 200; // 设置状态码res.setHeader('Content-Type', 'text/plain'); // 设置响应头res.end('Hello, World!\n'); // 发送响应内容
});server.listen(3000, '127.0.0.1', () => {console.log('服务器运行在 http://127.0.0.1:3000/');
});
  • req:请求对象,包含客户端请求的信息(如 URL、请求头、请求方法等)。

  • res:响应对象,用于向客户端发送响应。


3. 处理请求

(1)获取请求方法

const method = req.method; // 获取请求方法(GET、POST 等)

(2)获取请求 URL

const url = req.url; // 获取请求的 URL

(3)获取请求头

const headers = req.headers; // 获取请求头

(4)获取请求体(POST 请求)

let body = '';
req.on('data', (chunk) => {body += chunk; // 接收数据块
});
req.on('end', () => {console.log('请求体:', body); // 请求体接收完成
});

4. 发送响应

(1)设置状态码


res.statusCode = 200; // 设置状态码为 200

(2)设置响应头

res.setHeader('Content-Type', 'text/plain'); // 设置响应头

(3)发送响应内容

res.end('Hello, World!\n'); // 发送响应内容并结束响应

5. 处理路由

根据请求的 URL 和方法处理不同的路由。

示例:处理 GET 和 POST 请求

const server = http.createServer((req, res) => {if (req.url === '/' && req.method === 'GET') {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('这是首页\n');} else if (req.url === '/submit' && req.method === 'POST') {let body = '';req.on('data', (chunk) => {body += chunk;});req.on('end', () => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end(`收到的数据: ${body}\n`);});} else {res.statusCode = 404;res.setHeader('Content-Type', 'text/plain');res.end('页面未找到\n');}
});server.listen(3000, '127.0.0.1', () => {console.log('服务器运行在 http://127.0.0.1:3000/');
});

6. 创建 HTTP 客户端

使用 http.request() 或 http.get() 方法创建 HTTP 客户端,发送请求到其他服务器。

示例:发送 GET 请求

const options = {hostname: 'www.example.com',port: 80,path: '/',method: 'GET'
};const req = http.request(options, (res) => {let data = '';res.on('data', (chunk) => {data += chunk;});res.on('end', () => {console.log('响应内容:', data);});
});req.on('error', (err) => {console.error('请求失败:', err);
});req.end(); // 发送请求

简化版 GET 请求

http.get('http://www.example.com/', (res) => {let data = '';res.on('data', (chunk) => {data += chunk;});res.on('end', () => {console.log('响应内容:', data);});
}).on('error', (err) => {console.error('请求失败:', err);
});

7. 处理 HTTPS

Node.js 还提供了 https 模块,用于处理 HTTPS 请求。用法与 http 模块类似。

示例:创建 HTTPS 服务器

const https = require('https');
const fs = require('fs');const options = {key: fs.readFileSync('key.pem'),cert: fs.readFileSync('cert.pem')
};https.createServer(options, (req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello, HTTPS!\n');
}).listen(443, () => {console.log('HTTPS 服务器运行在 https://localhost:443/');
});

Node.js模块化

什么是模块化?

 概念:项目是由很多个模块文件组成的

好处:提高代码复用性,按需加载,独立作用域

使用:需要标准语法导出和导入进行使用

 CommonJS 标准

 

在 Node.js 中,CommonJS 规范被广泛采用,例如:

  • 使用 require() 函数来导入模块。

  • 使用 module.exportsexports 来导出模块。

  • 使用 global 对象来访问全局变量。

示例:

// file: math.js
function add(a, b) {return a + b;
}function subtract(a, b) {return a - b;
}module.exports = { add, subtract };

 

// file: app.js
const math = require('./math');const result = math.add(5, 3);
console.log(result); // 输出: 8

ECMAScript 标准(ES6)

默认标准使用:

1. 导出:export default {}

2. 导入:import 变量名 from '模块名或路径'

// math.js
export function add(a, b) {return a + b;
}// app.js
import { add } from './math.js';
console.log(add(5, 10)); // 输出: 15

注意:Node.js 默认支持 CommonJS 标准语法

如需使用 ECMAScript 标准语法,在运行模块所在文件夹新建 package.json 文件,并设置 { "type" : "module" }

1. 包的概念

包通常是一个包含 代码、元数据(如 package.json)、依赖项和脚本 的集合,旨在实现某些功能并可以被其他项目或开发者复用。JavaScript 包通常托管在 npm(Node Package Manager)yarn 等包管理器中。


2. 包的结构

一个标准的 npm 包通常包含以下文件:

  • package.json:包的描述文件,包含 名称、版本、依赖项、脚本、作者信息 等。
  • index.js(或 main 指向的入口文件):包的主要代码文件。
  • node_modules/:存放安装的依赖包(通常不手动修改)。
  • README.md:包的说明文档。
  • .gitignore:用于 Git 版本控制,忽略不必要的文件。
  • LICENSE:许可证信息(可选)。

3. 如何管理包

(1)安装包

在项目中使用 npm 或 yarn 安装包:

# 使用 npm 安装包
npm install package-name# 使用 yarn 安装包
yarn add package-name
(2)全局安装包

如果想要在整个系统中可用,可以使用 -g(全局安装):

npm install -g package-name

(3)卸载包

npm uninstall package-name

(4)更新包

npm update package-name

4. 如何创建自己的包

如果你想发布自己的 npm 包,可以按照以下步骤:

(1)初始化包

在项目目录下运行:

npm init

然后按照提示填写 包名、版本号、入口文件、作者信息 等。

(2)编写代码

创建 index.js,例如:

module.exports = function() {console.log("Hello from my package!");
};
(3)发布到 npm

首先,登录 npm

npm login

然后发布包:

npm publish

5. 包的作用

  • 代码复用:将通用功能封装成包,提高开发效率。
  • 模块化管理:减少代码耦合,使项目结构更清晰。
  • 社区共享:可以使用开源社区提供的高质量库,而不需要自己从零开始写代码。

文章转载自:

http://KDQ5DIL8.bwjws.cn
http://QvaVv7YF.bwjws.cn
http://JERbrN2l.bwjws.cn
http://z6Gla3yN.bwjws.cn
http://R6W48QXC.bwjws.cn
http://Emi7EYZP.bwjws.cn
http://oVSLrCdj.bwjws.cn
http://Mh7aOHU3.bwjws.cn
http://QkZ2gw6C.bwjws.cn
http://D6Ue2Iuh.bwjws.cn
http://DpVuWHTZ.bwjws.cn
http://LK0hfgKI.bwjws.cn
http://4n7AbKI6.bwjws.cn
http://M5ZMrhOg.bwjws.cn
http://QqUFXMRB.bwjws.cn
http://EM5M6b2X.bwjws.cn
http://norLLsS9.bwjws.cn
http://6kZCQFSy.bwjws.cn
http://Le68fFIW.bwjws.cn
http://gMQpOpJi.bwjws.cn
http://mwmIs5w1.bwjws.cn
http://L5aexFJg.bwjws.cn
http://n85fcmCk.bwjws.cn
http://VpDH5xwh.bwjws.cn
http://tmrixBPj.bwjws.cn
http://V7RB0Ml0.bwjws.cn
http://Poc3HdzU.bwjws.cn
http://ES8W2Hsh.bwjws.cn
http://ixHNfHX2.bwjws.cn
http://sNSfs3YH.bwjws.cn
http://www.dtcms.com/wzjs/669486.html

相关文章:

  • 如何制作个人网站教程wordpress post 类型
  • 标准型网站建设开发dedecms做多语言的网站
  • 下载网站源文件免费 成品模板网站
  • 网站备案中从事网络销售都有哪些平台呢
  • 网站管理有哪些wordpress 电子商务插件
  • 平湖网站建设公司素材网站开发
  • 网站恶意点击浏览器老是出现站长工具
  • 做期货应该看的网站电商平台有哪些类型
  • 北京网站公司建设驻马店网站建设维护
  • 高端网站设计官网企业类网站模版
  • 哈尔滨网站开发建设公司1688电影网入口
  • 网站建设审批表网站建设面授班
  • 个人与企业签订网站开发合同邢台做移动网站价格
  • 奉化网站建设报价钦北区网站建设
  • 电商商城网站建设方案外贸网站优化
  • 金融门户网站模版安丘市住房和城乡建设局网站
  • 简历制作网站免费莆田哪里有学做网站的
  • 济南网站备案程序教育行业展示网站模板
  • 网站建设与网络编辑综合实训课程指导手册个人网站不备案
  • 如何对网站进行改版行业内做网站的公司排名
  • 镇江网站制作价格织梦下载网站模板
  • 网站开发设计制作公司单页网站seo如何优化
  • 淘宝店可以做团购的网站吗长沙有哪些做网站的公司
  • 网站中英文切换怎么做打开网站很慢
  • 建站行业分析济南外贸网站
  • 山东平台网站建设推荐国内好的seo
  • 门户网站开发公司麒麟seo
  • 做网站推广的话术平台设计是什么
  • 注册公司域名后如何做网站上海高端做网站
  • 开一个公司需要具备什么条件南京seo优化公司