node.js - 我如何在 Nodejs 中添加、导入和要求
问题描述
我有一个大项目。最初后端和前端都包装在 webpack bable 中,前端和后端共享相同的节点模块。我已经隔离了后端,我不想使用 webpack bable。
在我的 NodeJs 代码中,我们使用了 - Import 和 Require both。我不能不改变所有需要的地方,或者导入。我有很多地方需要改变,需要时间。
我的 Package.json -
{
"name": "pr-se-bd",
"version": "1.0.0",
"description": "",
"main": "index.js",
"engines": {
"node": "12.18.0"
},
"scripts": {
"test": "NODE_ENV=development jest test.js --testEnvironment=node --watchAll --detectOpenHandles --forceExit",
"start": "nodemon node.js"
},
"type": "module",
"author": "",
"license": "ISC",
"dependencies": {
"aws-serverless-express": "^3.4.0",
"axios": "^0.21.1",
"bluebird": "^3.7.2",
"body-parser": "^1.19.0",
"compression": "^1.7.4",
"crypto": "^1.0.1",
"esm": "^3.2.25",
"express": "^4.17.1",
"firebase-admin": "^9.6.0",
"fs": "0.0.1-security",
"jsonwebtoken": "^8.5.1",
"morgan": "^1.10.0",
"node-forge": "^0.10.0",
"nodemon": "^2.0.7",
"path": "^0.12.7",
"sequelize": "^6.6.2",
"ts-node": "^9.1.1"
}
}
当我运行应用程序时 - 我收到错误 -
The ESM module loader is experimental.
internal/modules/run_main.js:54
internalBinding('errors').triggerUncaughtException(
有没有其他方法可以在没有 webpack 的 NodeJS 中使用、导入和要求两者?
解决方案
尝试"type": "module"
在后端 nodejs 代码中添加到 package.json 文件
推荐阅读
- macos - “添加到阅读列表”共享菜单项在 Mojave 中不起作用
- r - gganimate 如何订购有序条形时间序列?
- corda - 生成节点信息文件时出现 IllegalStateException 错误
- d3.js - 在 safari 中获得不适当的路径边界
- amazon-web-services - 在 Amazon Connect 中动态设置出站呼叫者 ID
- java - 加入 QueryDSL 的 BooleanBuilder
- python - 训练时Tensorflow不兼容的形状错误
- laravel - 如何从 -R 777 切换到 -R755
- orientdb - 如何在 orientdb 中的顶点链表中执行插入/删除/更新操作?
- sql - 如何在子查询中使用 SQL 中的 AND 案例