尝试导入本地文件时出现错误,但使用 npm 包时没有问题。
服务器.js
import express from 'express'
import next from 'next'
import apis from './src/server/api'
api.js
export default {
ello: 'bye',
jamie: 'hey'
}
启动应用
node --experimental-modules --inspect server.js
错误
For help, see: https://nodejs.org/en/docs/inspector
(node:20153) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/esm/default_resolve.js:59
let url = moduleWrapResolve(specifier, parentURL);
^
Error: Cannot find module '/var/www/goldendemon.hutber.com/src/server/api' imported from /var/www/goldendemon.hutber.com/server.js
at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:59:13)
at Loader.resolve (internal/modules/esm/loader.js:70:33)
at Loader.getModuleJob (internal/modules/esm/loader.js:143:40)
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:43:40)
at link (internal/modules/esm/module_job.js:42:36) {
code: 'ERR_MODULE_NOT_FOUND'
}
最佳答案
如果其他人有这个问题,我正在回答我自己的问题。
事实证明,在实验模式下,您需要定义带有扩展名的完整路径。所以我正在尝试导入 index.js
以为它会知道。
要解决这个问题:
import express from 'express'
import next from 'next'
import api from './src/server/api/index.js'
关于javascript - Node --experimental-modules - 错误 : Cannot find module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56723678/