【发布时间】:2022-01-06 21:26:28
【问题描述】:
我尝试使用 fs 读取 Jupyter 实验室扩展中的文件,而 require() 仅查找 /lib 文件夹下的文件,无法找到。
WARNING in ./lib/index.js 41:19-32
Module not found: Error: Can't resolve 'fs' in
'C:\Users\Username\Documents\github\jupyterlab_extension\lib'
@ container entry ./extension[0] ./index[0]
如果我使用import,会出现以下错误:
ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in 'C:\Users\Matt\Documents\github\py2hex\lib'
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\Compilation.js:2011:28
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:795:13
at eval (eval at create (C:\Users\Matt\Documents\github\py2hex\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:10:1)
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:275:22
at eval (eval at create (C:\Users\Matt\Documents\github\py2hex\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:9:1)
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:431:22
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:124:11
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:667:25
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:852:8
at C:\Users\Matt\Documents\github\py2hex\node_modules\webpack\lib\NormalModuleFactory.js:972:5
resolve 'fs' in 'C:\Users\Matt\Documents\github\py2hex\lib'
Parsed request is a module
using description file: C:\Users\Matt\Documents\github\py2hex\package.json (relative path: ./lib)
Field 'browser' doesn't contain a valid alias configuration
resolve as module
C:\Users\Matt\Documents\github\py2hex\lib\node_modules doesn't exist or is not a directory
looking for modules in C:\Users\Matt\Documents\github\py2hex\node_modules
single file module
using description file: C:\Users\Matt\Documents\github\py2hex\package.json (relative path: ./node_modules/fs)
no extension
Field 'browser' doesn't contain a valid alias configuration
C:\Users\Matt\Documents\github\py2hex\node_modules\fs doesn't exist
.js
我已经在 tsconfig 文件中包含了节点:
"types": ["node"],
"typeRoots": ["node_modules/@types"]
并且已经使用 npm install --save @types/node 安装了@types/node。
在我在 tsconfig 文件的“types”中包含“node”之后,Eslint 似乎也没有问题,但是编译器就是无法接受它。
【问题讨论】:
-
JavaScript 扩展在浏览器中运行,而不是在 Node 中运行 - 你不能在浏览器中使用像
fs这样的节点模块,因为幸运的是它无法访问本地文件系统。您需要使用 jupyter-server 内容 REST API 来检索文件或创建服务器扩展并使用自定义端点公开文件。
标签: node.js typescript jupyter-lab