Uncaught TypeError: Failed to resolve module specifier "fs". Relative references must start with either "/", "./", or "../"
Uncaught TypeError: Failed to resolve module specifier "fs". Relative references must start with either "/", "./", or "../"
当我尝试在我自己的模块中导入 fs 模块时 import * as fs from 'fs'
在浏览器控制台中出现以下错误:
Uncaught TypeError: Failed to resolve module specifier "fs". Relative references must start with either "/", "./", or "../"
.
使用require
或者像./node_modules/fs
这样的模块的相对路径是行不通的,有没有其他方法可以正确导入fs模块?
您有两个基本问题,这两个问题都源于您 运行 在浏览器中而不是在 Node.js 中使用此代码。
将 'fs'
之类的内容传递给 import
取决于 Node.js 样式模块解析。 Node.js 将在 node_modules
文件夹的内容中搜索匹配的模块。浏览器不能那样做,它们没有文件系统来搜索;他们只交易 URLs.
在浏览器中处理模块时,您必须传递:
- 包含绝对路径的 URL(如
/fs
或 http://example.com/fs
)
- A URL 是明确的相对路径(如
../fs
或 ./fs
)。
...就像错误信息所说的那样。
(通常您还需要在 URL 的末尾放置一个 .js
,因为您的 HTTP 服务器不太可能为您这样做)。
您还需要首先在浏览器中使用 运行 的模块。
fs
是一个 Node.js built-in 模块。它可以做浏览器 不允许 允许 JavaScript 做的事情(比如访问文件系统)。
如果您想使用 fs
模块,则不能直接从浏览器使用它。相反,在 Node.js 中编写一个 Web 服务(Express.js 模块在这里很有用)并使用 Ajax 从浏览器访问它(例如 fetch
API) .这将处理服务器的文件系统,而不是浏览器的。
如果要访问用户计算机上的文件,则需要使用 <input type="file">
和 FileReader
API.
当我尝试在我自己的模块中导入 fs 模块时 import * as fs from 'fs'
在浏览器控制台中出现以下错误:
Uncaught TypeError: Failed to resolve module specifier "fs". Relative references must start with either "/", "./", or "../"
.
使用require
或者像./node_modules/fs
这样的模块的相对路径是行不通的,有没有其他方法可以正确导入fs模块?
您有两个基本问题,这两个问题都源于您 运行 在浏览器中而不是在 Node.js 中使用此代码。
将 'fs'
之类的内容传递给 import
取决于 Node.js 样式模块解析。 Node.js 将在 node_modules
文件夹的内容中搜索匹配的模块。浏览器不能那样做,它们没有文件系统来搜索;他们只交易 URLs.
在浏览器中处理模块时,您必须传递:
- 包含绝对路径的 URL(如
/fs
或http://example.com/fs
) - A URL 是明确的相对路径(如
../fs
或./fs
)。
...就像错误信息所说的那样。
(通常您还需要在 URL 的末尾放置一个 .js
,因为您的 HTTP 服务器不太可能为您这样做)。
您还需要首先在浏览器中使用 运行 的模块。
fs
是一个 Node.js built-in 模块。它可以做浏览器 不允许 允许 JavaScript 做的事情(比如访问文件系统)。
如果您想使用 fs
模块,则不能直接从浏览器使用它。相反,在 Node.js 中编写一个 Web 服务(Express.js 模块在这里很有用)并使用 Ajax 从浏览器访问它(例如 fetch
API) .这将处理服务器的文件系统,而不是浏览器的。
如果要访问用户计算机上的文件,则需要使用 <input type="file">
和 FileReader
API.