构建时 /dist 中缺少从 /src 手动创建的子文件夹

Tek*_*kus 4 node.js loopbackjs

我在/src名为 的子文件夹中创建了一个子文件夹/libs。当我运行时npm run build,子文件夹不包含在/dist.

我假设我必须修改构建脚本?如果是这样,那会是哪个文件?

编辑#1

这一切都源于试图需要位于src/libs我的控制器中的自定义模块。我尝试过各种模式:../libs/module_name, ./libs/module_name. 让它工作的唯一方法是从根(即/home/me/app/src/libs/module_name)对路径进行硬编码。

如果我这样做:console.log(__dirname)在尝试从 请求模块的控制器中/lib,我会看到对 的引用/dist。我进去一看/dist,却/libs不见踪影。

Mir*_*toš 6

lb-tsc是 TypeScript 编译器 ( ) 的瘦包装器,您可以在loopback-next:packages/build/bin/compile-package.jstsc中找到源代码

除其他选项外,它还提供了一个新标志--copy-resources,用于将非 TypeScript 文件从 复制srcdist。我认为它可能与您的解决方案同样有效(如果不是更好)cp -r

"scripts": {
    ...
    "build": "lb-tsc es2017 --outDir dist --copy-resources"
    ...
}
Run Code Online (Sandbox Code Playgroud)

就我个人而言,我会使用不同的解决方案:

  • 仅用于src要编译的 TypeScript 文件
  • 将 JavaScript 源文件和其他文件放入不同的目录,例如lib(而不是src/lib)。