Knex用esm模块找不到迁移路径

问题描述

我在0.21.5中使用knex,并且启用了esm模块。它通常在目录路径中创建迁移(使用命令:yarn knex migration:make *迁移名称* --esm),但不执行迁移。使用命令knex migration:列出即使我创建了迁移也会出现:

Using environment: development
FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
FS-related option specified for migration configuration. This resets migrationSource to default FsMigrations
No Completed Migration files Found. 
No Pending Migration files Found.

Done in 1.66s.

配置Knex文件

import path from 'path';

export default {
  development: {
    client: 'pg',connection:
      'postgres:*link of database*',migrations: {
      directory: path.join(__dirname,'/src/database/migrations/'),loadExtensions: ['mjs'],},};

解决方法

我解决了这个问题,在这种情况下,负载扩展['mjs']无法正常工作,因此我将其删除并正常工作,但是您必须在执行的所有功能中加上esm标志,如果您要创建迁移,例如,您需要运行knex --esm migration:make 迁移名称

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...