JavaScript模块化开发规范及npm包管理器入门指南

JavaScript模块化开发规范及npm包管理器入门指南

JavaScript作为一门常用的编程语言,模块化开发规范和包管理工具对于项目开发至关重要。本指南将深入探讨ECMAScript模块标准规范、CommonJS规范以及npm包管理器的基本知识和使用方法。

JavaScript模块化开发规范

ECMAScript Module标准规范

  1. 导入导出变量

新建导出文件ex.js:

javascript 复制代码
let val = 'ex data'
export { val }

新建导入文件im.js:

javascript 复制代码
import { val } from "./ex.mjs"

console.log(val)

注意:在Node.js中可能需将文件后缀改为.mjs以解决报错。

  1. 导入导出使用as别名

更名导出变量:

javascript 复制代码
// ex.mjs
let val = 'ex data'
export { val as value }

// im.mjs
import { value as vv } from "./ex.mjs"
console.log(vv)
  1. 默认导出

默认导出变量:

javascript 复制代码
// ex.mjs
let val = 'ex data'
export default val;

// im.mjs
import val from "./ex.mjs"
console.log(val)
  1. 通过配置package.json解决报错

添加配置信息到package.json:

json 复制代码
{
  "type": "module"
}
  1. CommonJS规范

Node.js默认使用CommonJS规范,但ECMA Script Module提供更强大的模块化支持。

  1. 使用CommonJS实现模块化

新建m1.js导出:

javascript 复制代码
let val = 'this is commonjs'
module.exports = val

新建m2.js导入:

javascript 复制代码
const val = require("./m1")
console.log(val)

其他相关内容请参考上述具体规范。

npm包管理器

  1. 什么是npm

npm是JavaScript生态中常用的包管理工具,用于管理第三方包。 官网: www.npmjs.com 例子: json-server

  1. npm随Node.js一起安装

使用npm --version查看版本号。

  1. 常用npm命令
  • npm init:初始化项目,生成package.json文件。
  • 修改scripts选项,如"dev": "node a.js"
  • 运行npm run dev执行脚本。

示例a.js文件:

javascript 复制代码
console.log(123)

以上是JavaScript模块化开发规范及npm包管理器的入门指南,通过学习和实践这些内容,您将能更好地组织和管理JavaScript项目,提高开发效率。若大家有任何问题或需要进一步的解释,请留言反馈。感谢阅读!

相关推荐
IT_陈寒9 小时前
Python 3.12新特性解析:10个让你代码效率提升30%的实用技巧
前端·人工智能·后端
q***494510 小时前
SpringBoot Maven 项目 pom 中的 plugin 插件用法整理
spring boot·后端·maven
稚辉君.MCA_P8_Java10 小时前
Gemini永久会员 Java HotSpot 虚拟机(JVM)的优点
java·jvm·后端
●VON10 小时前
Electron 架构解剖:Chromium + Node.js 如何协同工作
架构·electron·node.js
Victor35610 小时前
Redis(146)Redis的Cluster的高可用性如何?
后端
Victor35610 小时前
Redis(147)Redis的Cluster的容错性如何?
后端
百***480710 小时前
从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)
docker·容器·node.js
爱吃烤鸡翅的酸菜鱼11 小时前
Spring Boot 实现 WebSocket 实时通信:从原理到生产级实战
java·开发语言·spring boot·后端·websocket·spring
uzong17 小时前
Mermaid: AI 时代画图的魔法工具
后端·架构
q***697718 小时前
Spring Boot与MyBatis
spring boot·后端·mybatis