node.js - 无法在我的 Nuxt 项目中使用“node”命令导入 ES 模块
问题描述
- 我的 nuxt 项目使用
serverMiddleware
定义nuxt.config.js
为 serverMiddleware:['~/api']
- 我的 api 目录中的所有文件都使用 import 和 export 语句,并且在我运行时可以正常工作
npm run dev
- 我还有一个种子目录,其中包含一堆数据库种子文件,每个文件都有
import
和export
语句 - 当我从
package.json
with运行它时"seed:dev": "cross-env NODE_ENV=development node ./api/db/seeders"
,
我收到以下错误
(node:12212) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
/Users/zup/Desktop/code/ACTIVE/ch_v3_final/api/db/seeders/index.js:1
import feeds from './feeds-data'
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ch@1.0.0 seed:dev: `cross-env NODE_ENV=development node ./api/db/seeders`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ch@1.0.0 seed:dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/zup/.npm/_logs/2021-03-21T16_38_58_766Z-debug.log
如何像 nuxt 运行我的其他文件一样运行使用导入导出语句的数据库播种机?
解决方案
你的 Node.js 版本是什么?
取决于它,您有几个选项,如下所述:https ://stackoverflow.com/a/45854500/8816585
最简单的仍然是"type": "module"
在你package.json
的错误中告诉你一个!
最新的 LTS 是:14.16.0
并且可能并非所有平台都支持,所以要小心。
PS:如果我没记错的话,它在 v15 中会更简单一些,但这个版本仍然是实验性的。
TLDR:与 Nuxt 没有任何关系。^^
推荐阅读
- jsf - 在离开页面之前关闭对话框
- express - Express Morgan 记录的状态代码与客户收到的不同
- javascript - Facebook Marketing API - 使用 Google Apps 脚本创建广告集
- opencv - 在全景图像拼接期间应用镜头畸变校正
- python - 如何读取字符串部分直到行尾
- machine-learning - 以两个半圆的形式分离数据集
- laravel - 使用共享主机发送电子邮件
- php - Appsync 的 graphql 订阅不适用于 PHP5
- angular - 角度 ts 文件中的 i18n $localize
- linux - 具有不同行大小的多个文件的平均值