我有一个用 typescript 编写的 Express 服务器,并"module": "es2020"在其 tsconfig.xml 中。
我还es2020为我的 graphql API 开发了另一个模块,仍然是 typescript,这个模块使用 mongoose 和这样的命名导入:
import { Types } from 'mongoose'
Run Code Online (Sandbox Code Playgroud)
当我用 编译我的 graphql 模块时,一切正常tsc。但是运行的快递服务器
nodemon --watch './**/*.ts' --exec 'node --experimental-specifier-resolution=node --loader ts-node/esm' src/index.ts
无法处理名为 import 的猫鼬。
import { Types } from 'mongoose';
^^^^^
SyntaxError: Named export 'Types' not found. The requested module 'mongoose' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via …Run Code Online (Sandbox Code Playgroud) 我正在开发一个具有快速变化状态和许多广播的网站,并且我正在尝试使用钩子和上下文创建自己的全局状态管理。我发现避免无用渲染的唯一解决方案是为每个状态创建两个上下文,一个用于状态更新器方法,一个用于状态本身。我最终得到了几十个上下文。
它看起来不像是一个好的设计,但我没有任何其他想法,我仍然认为可以创建一个复杂的反应应用程序,而无需第三方库来处理状态管理。
您有什么建议吗?谢谢