JavaScript模块导入疑问:是否需在本地存储对应模块?
JavaScript Import语句的模块存储要求
嘿,这个问题得分情况来看,不同类型的模块要求不一样:
本地自定义模块:必须存放在本地。比如你写了
import { calculateTotal } from './helpers.js',那helpers.js文件得在你指定的本地路径里(这里是当前目录下),不管是Node.js还是浏览器环境,找不到本地文件都会直接抛出Module not found的错误。第三方npm/yarn包模块:不需要你手动把模块文件存到本地,但得先通过包管理工具安装。比如用
import React from 'react'之前,你得先跑npm install react或者yarn add react,工具会把React的代码下载到项目的node_modules目录里——运行环境(Node.js)或者打包工具(Webpack、Vite)会自动从这个目录里找到模块。CDN远程模块(仅浏览器环境):这种不需要存在本地。比如你在浏览器里直接用ES模块:
import { format } from 'https://cdn.jsdelivr.net/npm/date-fns@2.29.3/esm/index.js',浏览器会直接从CDN地址下载模块代码并加载。不过这种方式依赖网络,离线状态下就没法用了。
总的来说,核心原则是:JavaScript运行环境必须能解析到你import的模块地址——本地模块靠本地文件路径,npm包靠node_modules里的安装文件,CDN靠远程URL。
内容的提问来源于stack exchange,提问作者ma p
相关产品推荐
相关产品推荐

