tsconfig 将 .sql 文件复制到 dist

tsconfig to copy .sql file to dist

我无法将我的迁移文件夹复制到 dist。 我在 src/graphql/DB 中有一个名为 pgMem 的文件夹,其中有一个包含 .sql 个文件的迁移文件夹。

此外,即使我在 includes 中有 package.json,它也没有复制它。

src/graphql/tsconfig.json

{
    "compilerOptions": {
        "noEmit": false,
        "rootDir": ".",
        "outDir": "../../dist/graphql",
        "esModuleInterop": true,
        "lib": ["esnext"],
        "skipLibCheck": true
    },
    "include": [
        "./*.ts",
        "package.json",
        "/DB/pgMem/migrations/*.sql"
    ],
    "exclude": [
        "dist",
        "/node_modules",
        "/src/test/**/*"
    ],
    "resolveJsonModule": true
}

当我去 dist 时,除了我的 migrations 文件夹之外,所有东西都在那里。我不打算这样做吗?

此问题在此处描述:github.com/microsoft/TypeScript/issues/30835 - 打字稿 - 编译器忽略除 json / TS 和 JS - 文件之外的其他文件。例如,您可以使用外部副本脚本来解决该问题。

备选方案:

另一种方法是在包含您的 dist - 文件夹的同一文件夹中创建一个额外的文件夹。我们称此文件夹为资产。资产 - 文件夹将提交到 git - 存储库。

在“assets”文件夹中,您可以放置​​部署后将使用的所有静态文件。

部署过程将获取 dist 和资产文件夹(连同其他相关文件,如 node_modules)。

当您在代码中读取文件时,使用正确的路径很重要 (../../assets/migrations/mySqlFile.sql).