一文带你了解nodejs中的package.json

本篇文章带大家了解一下node.js项目中package.json文件,看看它的作用、创建方法,了解如何管理 package.json,以及package.json和package-lock.json的区别。

一文带你了解nodejs中的package.json

随着前端工程化、自动化的发展,模块化开发已经成为当下前端的一种潮流,而在一个完整的Node.js项目中,package.json 文件无处不在。首先,在项目根目录会有,其次在 node_modules 中也频现。那么这个文件到底是干嘛的,又有什么作用,今天给大家揭晓。【推荐学习:《nodejs 教程》】

package.json 文件作用

我们在创建 Node.js项目的时候,会遇到 package.json 文件。它是一个 JSON 文件,位于项目的根目录下。

package.json 包含关于项目的重要信息。它包含关于项目的使人类可读元数据(如项目名称和说明)以及功能元数据(如程序包版本号和程序所需的依赖项列表),要想彻底搞懂package.json,我们还得从Node.js的模块(Module)讲起。

在Node.js中,模块可以是一个库或者一个框架,也可以是一个Node.js项目,Node.js项目遵循模块化架构,当我们创建一个Node.js项目的时,这些模块的描述文件被称之为package.json文件。

package.json是Node.js项目中非常重要的配置文件,是一个项目的核心,该文件中跟踪依赖关系和元数据,定义了当前项目所需要的各种模块,以及项目的配置信息,是对项目或者模块包的描述,里面包含许多元信息。

其定义了运行项目所需要的各种依赖和项目的配置信息(比如项目名称、项目版本、项目执行入口文件、执行的脚本、依赖的插件、项目贡献者、许可证以及运行、开发以及有选择地将项目发布到 npm 所需的信息。)。

它是配置和描述如何与程序交互和运行的中心,npm和yarn用它来识别你的项目并了解如何处理项目的依赖关系。 

npm cli 也是管理 package.json 的最佳方法,因为它有助于在项目的整个生命周期内生成和更新 package.json 文件。package.json文件就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。

package.json 会在项目的生命周期中扮演多个角色,其中某些角色仅适用于发布到 npm的软件包,可以启动你的项目、运行脚本、安装依赖项、发布到npm注册表以及许多其他有用的任务。。即使你没有把项目发布到 npm注册表中,或者没有将其公开发布给其他人,那么 package.json 对于开发流程仍然至关重要。

你的项目还必须包含 package.json,然后才能从 npm安装软件包。这也是项目中需要它的主要原因之一。

npm install 命令会根据这个文件下载所有依赖模块。package.json一般都在项目的根目录下。

package.json 文件创建

package.json 文件创建有两种方式,手动创建自动创建,一般我们使用自动创建较多。

1、手动创建

创建项目目录

$mkdir node-demo>cd node-demo>touch package.json

直接在项目根目录下新建一个 package.json 文件,然后输入相关的内容。

{  "name": "express-admin",  "version": "1.0.0",  "description": "Express Admin",  "keywords": [    "server",    "express",    "compression"  ],  "homepage":"https://gitee.com/xunzhaotech/express-admin.git",  "bugs":"https://github.com/owner/project/issues",  "license": "MIT",  "author": {    "name": "Amber luyb",    "email": "luyb@xunzhaotech.com",    "url": "https://www.xunzhaotech.com"  },  "contributors": [    {      "name": "Amber luyb",      "email": "luyb@xunzhaotech.com",      "url": "https://gitee.com/xunzhaotech/express-admin.git"    }  ],  "funding": [    {      "type" : "individual",      "url" : "http://example.com/donate"    },    "http://example.com/donateAlso",    {      "type" : "patreon",      "url" : "https://www.patreon.com/my-account"    }  ],  "files":[".git",    "CVS",    ".svn",    ".hg",    ".lock-wscript",    ".wafpickle-N",    ".*.swp",    ".DS_Store",    "._*",    "npm-debug.log",    ".npmrc",    "node_modules",    "config.gypi",    "*.orig,"],  "main": "index.js",  "browser":"",  "bin": {    "myapp": "./cli.js"  },  "man": [    "./man/foo.1",    "./man/bar.1"  ],  "repository": {    "type": "git",    "url": "https://gitee.com/xunzhaotech/express-admin.git"  },  "scripts": {    "docs:dev": "vuepress dev docs",    "docs:build": "vuepress build docs",    "server": "node server.js",    "start": "node index.js",    "dev": "nodemon",    "lint": "eslint **/*.js"  },  "config": {    "port": "8080"  },  "devDependencies": {    "eslint": "^7.22.0",    "mockjs": "^1.1.0",    "nodemon": "^2.0.7",    "vuepress": "^1.8.2"  },  "dependencies": {    "body-parser": "^1.19.0",    "compression": "^1.7.4",    "cookie-parser": "^1.4.5",    "debug": "^4.3.1",    "express": "^4.17.1",    "express-session": "^1.17.1"  },  "peerDependencies": {    "tea": "2.x"  },  "peerDependenciesMeta": {    "soy-milk": {      "optional": true    }  },  "bundledDependencies": [    "renderized",    "super-streams"  ],  "optionalDependencies":{},  "engines": {    "npm": "~1.0.20"  },  "os": [    "darwin",    "linux"  ],  "cpu": [    "!arm",    "!mips"  ],  "private": false,  "publishConfig":{},  "workspaces": [    "./packages/*"  ]}

2、自动创建

当我们新建一个名称为 xz-nuxt-admin, 在项目根目录下执行 yarn init -ynpm init -y 命令后,也可以输入 npm inityarn init -y这个命令采用互动方式,要求用户回答一些问题,然后根据提示一步步输入相应的内容完成后即可在项目目录下会新增一个基本的 package.json文件。所有问题之中,只有项目名称(name)和项目版本(version)是必填的,其他都是选填的。内容如下:

{ "name": "my-test",   # 项目名称  "version": "1.0.0", # 项目版本(格式:大版本.次要版本.小版本)  "author": "",       # 作者  "description": "",  # 项目描述  "main": "index.js", # 入口文件  "scripts": {        # 指定运行脚本命令的 npm 命令行缩写      "test": "echo "Error: no test specified" && exit 1"  },"keywords": [],       # 关键词"license": "ISC"      # 许可证}

package.json 文件配置说明

我们知道 package.json 中包含的一些最常见和重要的字段,用来管理项目的配置信息或发布到 npm,而其他一些则可以帮助 npm CLI 运行应用程序或安装依赖项。实际的字段比我们所介绍的要多,你可以在它的文档中了解其余字段,但以下的是必须要了解的 package.json 属性。

1、必须字段

package.json 中有非常多的配置项,其中必须填写的两个字段分别是 name 字段和 version 字段,它们是组成一个 npm 模块的唯一标识。

name

name 字段定义了模块的名称,其命名时需要遵循官方的一些规范和建议:

项目/模块名称,长度必须小于等于214个字符,不能以”.”(点)或者”_”(下划线)开头,不能包含大写字母。模块名会成为模块 url、命令行中的一个参数或者一个文件夹名称,任何非 url 安全的字符在模块名中都不能使用(我们可以使用 validate-npm-package-name 包来检测模块名是否合法)。语义化模块名,可以帮助开发者更快的找到需要的模块,并且避免意外获取错误的模块;若模块名称中存在一些符号,将符号去除后不得与现有的模块名重复。

name 字段不能与其他模块名重复,我们可以执行以下命令查看模块名是否已经被使用:npm view 或者,我们也可以去 npm 上输入模块名,如果搜不到,则可以使用该模块名。

version

在package.json文件中,版本是非常重要的一个概念,npm 包中的模块版本都需要遵循 SemVer 规范,该规范的标准版本号采用 X.Y.Z 的格式,其中 X、Y 和 Z 均为非负的整数,且禁止在数字前方补零:X 是主版本号(major):第一位就是主要版本号。一般来说,重大功能的更新,或功能的添加又不能向后兼容的情况会提升该版本号。Y 是次版本号(minor):中间那一位是指次要版本号。一般来说,一些功能的添加,但又能向后兼容,这种更新会提升该版本号。Z 是修订号(patch):最后一位就是补丁版本号。一般来说,如果是项目的一些BUG修复,会将该版本号提升。

当某个版本改动比较大、并非稳定而且可能无法满足预期的兼容性需求时,我们可能要先发布一个先行版本。

先行版本号可以加到主版本号.次版本号.修订号的后面,通过 – 号连接一连串以句点分隔的标识符和版本编译信息:

内部版本(alpha)公测版本(beta)正式版本的候选版本rc(即 Release candiate)

我们可以执行以下命令查看模块的版本:

$npm view  version  # 查看某个模块的最新版本$npm view  versions # 查看某个模块的所有历史版本

2、可选字段

可选字段是除去必填字段需要补充的项目信息

描述信息(description & keywords)

description:字段用于添加模块的描述信息,便于用户了解该模块,是一个字符串。它可以帮助人们在使用npm search时找到这个包。keywords 项目关键字,是一个字符串数组。用于给模块添加关键字。它可以帮助人们在使用npm search时找到这个包。当我们使用 npm 检索模块时,会对模块中的 description 字段和 keywords 字段进行匹配,写好 package.json中的 description 和 keywords 将有利于增加我们模块的曝光率。

安装项目依赖(dependencies & devDependencies)

dependencies:字段指定了项目运行所依赖的模块(生产环境下,项目运行所需依赖)。devDependencies:指定项目开发所需要的模块(开发环境下,项目所需依赖)。

说明:

百度文心百中 百度文心百中

百度大模型语义搜索体验中心

百度文心百中 22 查看详情 百度文心百中

我们在使用vue框架开发一个程序,开发阶段需要用到webpack来构建你的开发和本地运行环境。所以vue一定要放到dependencies里,因为以后程序到生产环境也要用。webpack则是你用来压缩代码,打包等需要的工具,程序实际运行的时候并不需要,所以放到devDependencies里就可以了。或者我们在写程序要用ES6标准,浏览器并不完全支持,所以你要用到babel来转换代码,babel放devDependencies。程序里有用到开源组件,比如你想用antd,antd要放dependencies。

简化终端命令(scripts)

scripts 字段是 package.json 中的一种元数据功能,它接受一个对象,对象的属性为可以通过 npm run 运行的脚本,值为实际运行的命令(通常是终端命令),如:

  "scripts": {     "dev": "nuxt",     "build": "nuxt build",     "start": "nuxt start",     "generate": "nuxt generate" },

将终端命令放入 scripts 字段,既可以记录它们又可以实现轻松重用。

定义项目入口(main)

main 字段是 package.json 中的另一种元数据功能,它可以用来指定加载的入口文件。假如你的项目是一个 npm 包,当用户安装你的包后,const ModuleName = require(‘module-name’) 返回的是 main 字段中所列出文件的 module.exports 属性。当不指定main 字段时,默认值是模块根目录下面的index.js 文件。

发布文件配置(files)

files 字段用于描述我们使用 npm publish 命令后推送到 npm 服务器的文件列表,如果指定文件夹,则文件夹内的所有内容都会包含进来。我们可以查看下载的 antd 的 package.json 的files 字段,内容如下:

"files": [   "dist",   "lib",   "es"    ……],

可以看到下载后的 antd 包是下面的目录结构中包含了  /dist/”lib/es文件,另外,我们还可以通过配置一个 .npmignore 文件来排除一些文件, 防止大量的垃圾文件推送到 npm 上。

定义私有模块(private)

一般公司的非开源项目,都会设置 private 属性的值为 true,这是因为 npm 拒绝发布私有模块,通过设置该字段可以防止私有模块被无意间发布出去。

指定模块适用系统(os)

使用 os 属性可以指定模块适用系统的系统,或者指定不能安装的系统黑名单(当在系统黑名单中的系统中安装模块则会报错)

"os" : [ "darwin", "linux" ] # 适用系统"os" : [ "!win32" ] # 黑名单

在 node 环境下可以使用 process.platform 来判断操作系统

指定模块适用 cpu 架构(cpu)

我们可以用 cpu 字段更精准的限制用户安装环境

"cpu" : [ "x64", "ia32" ] # 适用 cpu"cpu" : [ "!arm", "!mips" ] # 黑名单

在 node 环境下可以使用 process.arch 来判断 cpu 架构

指定项目 node 版本(engines)

防止因node 版本不同,导致会出现很多奇奇怪怪的问题(如某些依赖安装报错、依赖安装完项目跑不起来等)。

"engines": {  "node": ">= 8.16.0",  "npm": ">= 6.9.0"},

需要注意的是,engines属性仅起到一个说明的作用,当用户版本不符合指定值时也不影响依赖的安装

自定义命令(bin)

bin 字段用来指定各个内部命令对应的可执行文件的位置。主要应用在脚手架搭建中,当package.json 提供了 bin 字段后,即相当于做了一个命令名和本地文件名的映射。当用户安装带有 bin 字段的包时,

如果是全局安装,npm 将会使用符号链接把这些文件链接到/usr/local/node_modules/.bin/;如果是本地安装,会链接到./node_modules/.bin/。

如果要使用 mfd-cli 作为命令时,可以配置以下 bin 字段:

"bin": {  "mfd-cli": "./bin/cli.js"  }

上面代码指定,mfd-cli 命令对应的可执行文件为 bin 子目录下的 cli.js,因此在安装了 mfd-cli 包的项目中,就可以很方便地利用 npm执行脚本:

"scripts": {    start: 'node node_modules/.bin/mfd-cli' }

这里看起来和 vue create/create-react-app之类的命令不太一样?是因为:当需要 node 环境时就需要加上 node 前缀如果加上 node 前缀,就需要指定mfd-cli 的路径 -> node_modules/.bin,否则 node mfd-cli会去查找当前路径下的 mfd-cli.js,这样肯定是不对。若要实现像 vue create/create-react-app之类的命令一样简便的方式,则可以在上文提到的 bin 子目录下可执行文件cli.js 中的第一行写入以下命令:#!/usr/bin/env node这行命令的作用是告诉系统用 node 解析,这样命令就可以简写成 mfd-cli 了。

设置应用根路径(homepage)

当我们使用 create-react-app 脚手架搭建的 React 项目,默认是使用内置的 webpack 配置,当package.json 中不配置 homepage 属性时,build 打包之后的文件资源应用路径默认是/

一般来说,我们打包的静态资源会部署在 CDN 上,为了让我们的应用知道去哪里加载资源,则需要我们设置一个根路径,这时可以通过 package.json 中的 homepage 字段设置应用的根路径。

当我们设置了 homepage 属性后:

{    "homepage": "https://xxxx.cdn/project-name",}

打包后的资源路径就会加上 homepage 的地址:/project-name/bundle.js

其它配置

author:项目开发者,它的值是你在npmjs.org网站的有效账户名,遵循“账户名”的规则,例如:xunzhaotech@aliyun.com。private:是否私有,设置为 true 时,npm 拒绝发布。license:软件授权条款,让用户知道他们的使用权利和限制。bugs:bug 提交地址。contributors:项目贡献者 。repository:项目仓库地址。module:是以 ES Module(也就是 ES6)模块化方式进行加载,因为早期没有 ES6 模块化方案时,都是遵循 CommonJS 规范,而 CommonJS 规范的包是以 main 的方式表示入口文件的,为了区分就新增了 module 方式,但是 ES6 模块化方案效率更高,所以会优先查看是否有 module 字段,没有才使用 main 字段。eslintConfig:EsLint 检查文件配置,自动读取验证。browserslist:供浏览器使用的版本列表。style:供浏览器使用时,样式文件所在的位置;样式文件打包工具parcelify,通过它知道样式文件的打包位置。

package.json和package-lock.json的区别

为什么有了package.json,还需要package-lock.json文件呢,当node_modules文件夹并不存在或被删除时,需要用到npm install重新装载全部依赖时,通过package-lock.json可以直接表明下载地址和相关依赖,相对下载速度也更快,也不容易报错。

更多编程相关知识,请访问:编程视频!!

以上就是一文带你了解nodejs中的package.json的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/564995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 02:53:01
下一篇 2025年11月10日 02:54:27

相关推荐

  • 配置 Tailwind CSS:初始化指南 |设置 Tailwind CSS:初始化指南

    简介 |简介意大利语:本文有意大利语和英语版本。向下滚动查看英文版本。英语:本文有意大利语和英语版本。向下滚动查看英文版本。 意大利语版 如何开始使用 tailwind css:项目完整指南 简介 在项目中配置 tailwind css 第一次似乎令人畏惧,特别是对于像我这样第一次尝试这个库的人来说…

    2025年12月24日
    000
  • 如何设置独立 CLI:在 Shopify 中使用 Tailwind CSS,而不使用 Nodejs

    依赖关系 Shopify CLI:一种命令行界面工具,可帮助您开发和管理 Shopify 主题。TailwindCSS:实用程序优先的 CSS 框架,用于快速构建自定义设计。 设置 我们使用 Tailwind 作为独立的 CLI 工具。更多信息可以参考官方指南。 注意:如果您在配备 Intel 处理…

    2025年12月24日
    000
  • 谷歌怎么下载html5_HTML5无需下载浏览器直接渲染运行页面文件【说明】

    HTML5不是需下载的软件,而是浏览器原生标准;Chrome默认支持,可通过file://协议直接打开本地.html文件,或用http-server启动本地服务器以支持完整API功能。 如果您已编写好HTML5页面文件,但误以为需要“下载HTML5”才能运行,则需明确:HTML5不是可下载的独立软件…

    2025年12月23日
    000
  • 手机编程html5工具_移动端代码编辑器推荐【指南】

    推荐五款移动端HTML5编辑器:Acode Editor支持一键预览;DroidEdit Pro可FTP/SFTP远程编辑;Codeanywhere提供云端IDE与Git集成;SpckEditor专注极简单页开发;Termux组合方案实现命令行本地服务。 如果您希望在手机上直接编写、调试和预览 HT…

    2025年12月23日
    000
  • Linux polybar状态栏,HTML+CSS加载进度实时!

    可通过 Bash 脚本在 Polybar 中模拟 HTML+CSS 风格进度条,利用 %{F#color} 标记和块字符 ▮ 动态显示已完成与未完成部分,结合实时任务进度输出格式化文本。 如果您希望在 Linux 的 Polybar 状态栏中显示一个基于 HTML+CSS 风格的加载进度条,并实时反…

    2025年12月23日
    000
  • Node.js Puppeteer爬虫的部署与自动化运行指南

    本教程详细指导如何部署基于node.js和puppeteer的网络爬虫,并实现其自动化定时执行。文章区分了前端静态网站与后端node.js脚本的部署策略,重点介绍了在windows环境下使用任务计划程序(task scheduler)进行定时任务配置的方法,同时提及了cors问题产生的原因及解决方案…

    2025年12月23日
    000
  • Linux Debian用Gulp自动化,CSS编译HTML零等待!

    首先安装Node.js与npm,再初始化项目并安装Gulp及插件,接着配置gulpfile.js定义Sass编译与浏览器同步任务,最后通过gulp命令启动自动化流程,实现CSS即时编译与HTML实时更新。 如果您希望在Linux Debian系统中通过Gulp实现自动化工作流,以达到CSS即时编译、…

    2025年12月23日
    000
  • Node.js爬虫的服务器端部署与定时任务配置指南

    本文旨在指导开发者如何部署基于%ignore_a_1%的puppeteer网络爬虫,并实现其定时自动化运行。针对本地开发环境,文章详细介绍了利用windows任务计划程序配置定时任务的步骤,确保node.js脚本能按预设时间自动执行,更新数据。同时,文章也探讨了生产环境下的部署思路,强调了客户端与服…

    2025年12月23日
    000
  • Node.js爬虫的部署、调度与静态网站数据集成指南

    本教程详细阐述如何部署和自动化运行node.js网络爬虫,实现定时数据抓取并更新静态网站内容。我们将探讨node.js脚本的服务器端运行机制、windows任务计划程序等调度工具的配置,以及爬取数据与静态html页面集成的策略,旨在帮助您构建高效且自动化的数据更新流程。 1. 理解Node.js爬虫…

    2025年12月23日
    000
  • 部署与自动化运行Node.js网络爬虫:使用Windows任务计划程序

    本文将指导您如何部署一个基于node.js和puppeteer的网络爬虫,并利用windows任务计划程序实现其每日定时自动运行。我们将深入探讨服务器端脚本与静态网页的区别,提供详细的步骤配置任务计划,并讨论在自动化过程中需要注意的关键事项,如资源管理、错误处理及跨平台部署思路。 理解Node.js…

    2025年12月23日
    000
  • 部署与调度Node.js爬虫:从本地执行到云端集成

    本教程详细指导如何部署和调度一个基于node.js的网页爬虫,使其能够每日自动运行并将其数据提供给前端应用。文章将区分客户端与服务器端javascript的运行环境,介绍本地任务调度方法,并探讨将爬虫集成到在线服务以实现数据共享的策略,同时涵盖数据持久化、cors处理及部署最佳实践。 1. 理解No…

    2025年12月23日
    000
  • nodejs如何打开html_Node.js环境中HTML文件打开方法

    如果您在Node.js环境中需要打开或提供HTML文件的访问,通常意味着您希望启动一个本地服务器来渲染并展示HTML页面。以下是实现该功能的具体方法: 一、使用内置http模块创建服务器 通过Node.js的内置http模块可以快速搭建一个简易服务器,用于读取并返回HTML文件内容给客户端浏览器。 …

    2025年12月23日
    000
  • WSL2里写HTML+CSS,Windows秒变Linux开发机!

    使用WSL2可在Windows中高效进行Linux环境下的HTML与CSS开发。首先启用WSL2并安装Ubuntu 22.04,确保运行版本为2;接着安装Visual Studio Code及Remote – WSL插件,将项目存于Linux文件系统以实现编辑同步;通过Python内置服…

    2025年12月23日
    000
  • Windows WSL2中Linux环境运行HTML+CSS开发服务器

    在WSL2中配置Linux环境进行HTML+CSS开发,首先启用WSL2并安装Ubuntu等发行版,运行wsl –install后重启并设置用户;接着更新系统包sudo apt update && sudo apt upgrade;推荐使用Python3内置服务器,在项目…

    2025年12月23日
    000
  • Linux用stylelint实时校验CSS是否符合HTML规范

    Stylelint用于校验CSS书写规范,可通过配置文件和编辑器插件在Linux中实现实时检查,并结合chokidar监听文件变化,确保CSS代码质量并与HTML协同工作。 Stylelint 是一个强大的 CSS 代码检查工具,但它主要用于校验 CSS 的书写规范(如格式、可维护性、错误预防等),…

    2025年12月23日
    000
  • Windows用Prettier同时格式化HTML和CSS代码

    答案:在Windows中使用Prettier格式化HTML和CSS需先安装Node.js,再通过npm安装Prettier,可全局或项目本地安装,推荐配合VS Code插件实现保存自动格式化,注意文件扩展名正确以确保语言识别。 在 Windows 系统中使用 Prettier 格式化 HTML 和 …

    2025年12月23日
    000
  • 如何在Atom中集成HTML预处理器Sass的详细教程

    首先安装Node.js和Dart Sass,再在Atom中安装atom-sass等插件,配置文件结构与编译规则,通过插件或命令行监听实现.scss文件自动编译为CSS,并在HTML中引入生成的CSS文件,从而提升开发效率。 要在Atom中集成Sass预处理器,让HTML开发更高效,关键在于安装合适的…

    2025年12月23日
    000
  • Linux Ubuntu用BrowserSync同步HTML与CSS多设备

    首先安装Node.js和npm,再全局安装BrowserSync,进入项目目录启动服务器并监听HTML与CSS文件,通过局域网IP在多设备访问,修改代码后页面自动同步刷新,支持CSS热替换,需确保设备同Wi-Fi且端口开放。 要在Linux Ubuntu系统中使用BrowserSync实现HTML与…

    2025年12月23日
    000
  • nodejs如何添加html_Node.js服务端HTML渲染与响应方法

    Node.js中返回HTML可通过原生HTTP模块直接发送字符串或使用模板引擎动态渲染。直接返回时需设置Content-Type为text/html并用res.end()发送HTML内容;对于动态数据,可结合EJS等模板引擎读取模板文件并渲染数据后返回;更推荐在中大型项目中使用Express框架,配…

    2025年12月23日
    000
  • termux如何运行html_Termux终端中HTML文件运行与预览方法

    推荐使用Python启动本地服务器预览HTML文件:进入项目目录后运行python -m http.server 8000,再通过手机浏览器访问http://localhost:8000即可查看页面效果。 在Termux中运行和预览HTML文件,虽然不能像桌面浏览器那样直接双击打开,但通过简单的工具…

    2025年12月23日
    000

发表回复

登录后才能评论
关注微信