我在/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
不在那儿。
答案 0 :(得分:2)
lb-tsc
是TypeScript编译器(tsc
)的精简包装,您可以在loopback-next:packages/build/bin/compile-package.js
在其他选项中,它提供了一个新标记--copy-resources
,用于将非TypeScript文件从src
复制到dist
。我认为它可以和您的cp -r
解决方案一样好(如果不是更好的话)。
"scripts": {
...
"build": "lb-tsc es2017 --outDir dist --copy-resources"
...
}
我个人会使用其他解决方案:
src
用于要编译的TypeScript文件lib
(而不是src/lib
)。答案 1 :(得分:0)
在一位同事的帮助下,我弄清楚了。在package.json
中,我附加了一个复制命令,以将libs
文件夹放入构建部分的dist
中。
"scripts": {
...
"build": "lb-tsc es2017 --outDir dist && cp -r src/libs dist",
...
}