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

大规模网站开发语言微信小程序可以自己开发吗

大规模网站开发语言,微信小程序可以自己开发吗,杭州微信建站,微信商城官方入口Node.js 编码规范 一、编码风格 1. 全局变量使用 直接使用 Node.js 内置的全局变量,无需通过 require 引入: // 不推荐 const { Buffer } require(buffer); const b Buffer.alloc(16);// 推荐 const b Buffer.alloc(16);适用于 Buffer、URL、URLSearc…

Node.js 编码规范

一、编码风格

1. 全局变量使用

直接使用 Node.js 内置的全局变量,无需通过 require 引入:

// 不推荐
const { Buffer } = require('buffer');
const b = Buffer.alloc(16);// 推荐
const b = Buffer.alloc(16);

适用于 Buffer、URL、URLSearchParams、TextEncoder、TextDecoder、process、console 等全局对象。

2. 优先使用 Promise API

推荐使用模块的 promises API 替代回调方式:

// 不推荐
const fs = require('fs');
fs.readFile(filePath, 'utf8', (error, content) => { ... });// 推荐
const { promises: fs } = require('fs');
async function readData(filePath) {const content = await fs.readFile(filePath, 'utf8');
}

3. 模块引用顺序

模块引用应遵循以下顺序:

  1. Node 内置模块
  2. npm 包
  3. 本地文件

同类引用按字典序排列,不同类别间空一行分隔:

// 推荐
const fs = require('fs');
const http = require('http');const { Bar, Foo } = require('tool');
const moment = require('moment');const Car = require('./models/car');

4. 异常处理规范

必须使用原生 Error 对象抛出异常:

// 不推荐
throw 'error';
throw 0;// 推荐
throw new Error('error');
const err = new Error('error');
throw err;

5. 避免同步方法

线上环境应避免使用同步方法:

// 不推荐
fs.readFileSync('./somefile', 'utf-8');// 推荐
const { promises: fs } = require('fs');
async function test() {await fs.readFile('./somefile', 'utf-8');
}

二、安全规范

  1. 隐藏错误详情:客户端错误提示不得包含敏感系统信息
  2. 隐藏技术栈标识:移除或伪造 X-Powered-By 响应头
  3. JSONP 安全:跨域接口需严格校验访问来源,配置域名白名单
  4. 用户标识安全:禁止使用参数或明文 cookie 中的用户标识查询敏感信息
  5. 防止 SQL 注入:使用预编译语句,对用户输入进行转义和过滤
  6. 依赖管理:定期检查并更新存在漏洞或过期的依赖
  7. 文件上传安全:用户上传文件应存储至 OSS 等专业服务
  8. URL 重定向安全:服务端重定向需设置白名单验证
  9. 接口入参校验:使用 jsonschema 或 joi 严格校验请求参数

三、最佳实践

  1. 无状态设计:应用应保持无状态,使用外部存储管理数据
  2. 静态文件托管:推荐使用 CDN 而非 Node.js 托管前端静态文件
  3. CPU 密集型任务:将 CPU 密集型任务委托给反向代理(如 nginx)
  4. 异步编程:优先使用 async/await 替代回调函数
  5. 回调函数处理:使用 util.promisify 将回调转为 Promise:
const util = require('util');
const fs = require('fs');
const stat = util.promisify(fs.stat);
  1. Promise 使用:优先使用原生 Promise 而非第三方库
  2. 链式调用:类方法返回 this 实现链式调用:
class Jedi {jump() {this.jumping = true;return this;}setHeight(height) {this.height = height;return this;}
}

本规范基于 eslint-config-egg 扩展,旨在提升 Node.js 业务开发的代码一致性、安全性和可维护性。

http://www.dtcms.com/a/504977.html

相关文章:

  • wordpress 导出用户天津seo网络营销
  • 【数据结构与算法基础】05. 栈详解(C++ 实战)
  • 做网站要有什么团队雨发建设集团有限公司网站
  • seo建站优化asp.net+mvc+网站开发
  • 网站图片一般分辨率做多大赣州网站建设服务
  • 2017招远网站建设云兰装潢公司总部地址电话
  • 网站服务器查询工具wordpress 返回顶部插件
  • 做网站推广弊端青岛胶南做网站的
  • 2018年网站建设工作总结北京市建设工程信息网登录流程
  • 网站首页背景代码旅游类网站开发毕业设计
  • 9 垂直分片
  • 公司网站如何备案如何制作钓鱼网站
  • 做网站如何分类关于网站建设的外文翻译
  • 网站建设申请书搜了网推广
  • 昆明做网站建设有哪些网站推广优化联系方式
  • 免费注册自己的网站品牌建设卓有成效
  • 易语言和网站做交互中国赣州
  • 网站网页设计制作公司搬家网站建设案例说明
  • STM32Cubemx配置独立看门狗(IWDG)
  • 有做翻译英文网站山西网站开发二次开发
  • 外贸业务怎么利用网站开发客户网站建设模板网站
  • 免费的企业网站建设wordpress做漫画
  • 网站域名查询网网站推广的方法搜索引擎
  • 给外国小孩 做 英语题用的网站怎么做文学动漫网站
  • 网站制作网页设计室内设计软件3d
  • 北京专业制作网站公司哪家好贵南网站建设
  • 浙江人工智能建站系统软件网站页脚写什么
  • 公司网站怎么更新需要怎么做优化关键词哪家好
  • 简单的企业网站外贸网站广告宣传网站
  • 网站建设提供商wordpress next