node.js - 构建时 /dist 中缺少从 /src 手动创建的子文件夹
问题描述
我创建了一个/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
不在那里。
解决方案
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 文件 - 将 JavaScript 源代码和其他文件放入不同的目录,例如
lib
(而不是src/lib
)。
推荐阅读
- promise - 从附加到 Suitelet 的客户端脚本中设置现有记录的子列表字段
- kotlin - 在注解处理阶段获取kotlin fun参数的默认值
- amazon-s3 - 有没有办法在对我的 S3 存储服务器的请求中指定图像尺寸?
- php - 如果我经常实例化它们,只使用属性类会更好吗?
- newline - 如何让 Atom 停止添加这些新行
- sql - 每月第一天至上周六
- angular - 将 Reduce 数组映射到字符串
- javascript - 如何在firestore中以离线方式阅读文档并以(在线和离线)方式写入?
- scala - 强制 alpakka kafka 消费者在反序列化错误时显示错误消息
- c# - 尝试重现 MS-Office 的文件加密时得到错误的 'encryptedVerifierHashInput' 值