Directus无法注册endpoint:require() of ES Module错误
在本地没问题,在部署到服务器生产环境的时候运行出错:
[20:27:22.426] WARN: Couldn't register endpoint "directus-extension-xxxx" [20:27:22.427] WARN: require() of ES Module /mnt/project/api/extensions/directus-extension-endpoint-xxxx/dist/index.js from /mnt/project/api/node_modules/directus/dist/extensions.js not supported. Instead change the require of index.js in /mnt/project/api/node_modules/directus/dist/extensions.js to a dynamic import() which is available in all CommonJS modules. err: { "type": "Error", "message": "require() of ES Module /mnt/project/api/extensions/directus-extension-endpoint-xxxx/dist/index.js from /mnt/project/api/node_modules/directus/dist/extensions.js not supported.\nInstead change the require of index.js in /mnt/project/api/node_modules/directus/dist/extensions.js to a dynamic import() which is available in all CommonJS modules.", "stack": Error [ERR_REQUIRE_ESM]: require() of ES Module /mnt/project/api/extensions/directus-extension-endpoint-xxxx/dist/index.js from /mnt/project/api/node_modules/directus/dist/extensions.js not supported. Instead change the require of index.js in /mnt/project/api/node_modules/directus/dist/extensions.js to a dynamic import() which is available in all CommonJS modules. at ExtensionManager.registerEndpoints (/mnt/project/api/node_modules/directus/dist/extensions.js:315:42) at ExtensionManager.load (/mnt/project/api/node_modules/directus/dist/extensions.js:190:20) at async ExtensionManager.initialize (/mnt/project/api/node_modules/directus/dist/extensions.js:97:13) at async createCli (/mnt/project/api/node_modules/directus/dist/cli/index.js:27:5) "code": "ERR_REQUIRE_ESM" }
解决方法:
找到extension目录中的package.json
文件,删除"type": "module"
并重新启动directus即可。