Jam*_*ber 54 javascript node.js google-chrome-devtools ecmascript-6
尝试导入本地文件时出现错误,但在使用 npm 包时没有问题。
import express from 'express'
import next from 'next'
import apis from './src/server/api'
Run Code Online (Sandbox Code Playgroud)
export default {
ello: 'bye',
jamie: 'hey'
}
Run Code Online (Sandbox Code Playgroud)
node --experimental-modules --inspect server.js
Run Code Online (Sandbox Code Playgroud)
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'
}
Run Code Online (Sandbox Code Playgroud)
Jam*_*ber 100
如果其他人有这个问题,我正在回答我自己的问题。
事实证明,在实验模式下,您需要定义带有扩展名的完整路径。所以我试图导入index.js
认为它会知道。
要解决这个问题:
import express from 'express'
import next from 'next'
import api from './src/server/api/index.js'
Run Code Online (Sandbox Code Playgroud)
小智 44
在节点 12 上,您有 2 个选项:
在 package.json、实验模块上使用 type="module" 并指定具有 specidier-resolution 的扩展,如下所示:
node --experimental-modules --es-module-specifier-resolution=node src/index
或不使用说明符分辨率。请记住,您必须在每个位置指定文件的扩展名。
归档时间: |
|
查看次数: |
38537 次 |
最近记录: |