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项目,提高开发效率。若大家有任何问题或需要进一步的解释,请留言反馈。感谢阅读!

相关推荐
计算机程序设计小李同学6 小时前
基于 Spring Boot + Vue 的龙虾专营店管理系统的设计与实现
java·spring boot·后端·spring·vue
Charlie_lll8 小时前
力扣解题-[3379]转换数组
数据结构·后端·算法·leetcode
VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
汤姆yu8 小时前
2026基于springboot的在线招聘系统
java·spring boot·后端
计算机学姐9 小时前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
毕设源码-朱学姐9 小时前
【开题答辩全过程】以 基于Node.js的书籍分享平台设计与实现为例,包含答辩的问题和答案
node.js
hssfscv9 小时前
Javaweb学习笔记——后端实战8 springboot原理
笔记·后端·学习
咚为9 小时前
Rust tokio:Task ≠ Thread:Tokio 调度模型中的“假并发”与真实代价
开发语言·后端·rust
Anastasiozzzz10 小时前
对抗大文件上传---分片加多重Hash判重
服务器·后端·算法·哈希算法
Vivienne_ChenW10 小时前
DDD领域模型在项目中的实战
java·开发语言·后端·设计模式