Directus无法注册endpoint:require() of ES Module错误

Directus

在本地没问题,在部署到服务器生产环境的时候运行出错:

[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即可。

Post Comment