我有一个使用node和typescript开发的应用程序,因此为了使该应用程序更具模块化(类似于asp.net中的libs),我创建了两个本地包以提高可重用性,并将它们添加为本地应用程序包(npm我'path-my-module')。
但是现在我在构建解决方案以进行测试部署时会遇到问题,因为该模块未包含在构建中。
我是Node的新手,在这种情况下如何工作我没有发现很多事情,我想知道在这种情况下我该怎么做?
这种方法对吗?
如何使用本地依赖项并将其包含在构建中以部署到测试环境中?
更多信息:
我的Package.json大致是这样的:
"dependencies": {
some imports ...
"my-local-package-a": "file:../LocalPackageA",
"my-local-package-b": "file:../LocalPackageB",
.... more imports,
},
我正在使用Gulp.js自动化管道。 我的gulp文件:
var gulp = require("gulp");
var ts = require("gulp-typescript");
var tsProject = ts.createProject("tsconfig.json");
var OUT_DIR = "dist";
var IN_DIR = "../MyAlexaApp";
// compile typescript
gulp.task("compile", function () {
return tsProject.src()
.pipe(tsProject())
.js.pipe(gulp.dest(OUT_DIR));
});
// copy json files (e.g. localization json)
gulp.task("json", function () {
return gulp.src(IN_DIR + "/**/*.json").pipe(gulp.dest(OUT_DIR));
});
gulp.task("default", gulp.parallel(["compile", "json"]));
我的ts配置:
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"lib": ["es6"],
"moduleResolution": "node",
"rootDir": "../DealerSearchSkill",
"outDir": "dist",
"sourceMap": true,
"allowJs": false,
"noImplicitAny": true,
"noUnusedLocals": true,
"noImplicitThis": true,
"strictNullChecks": true,
"noImplicitReturns": true,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"resolveJsonModule": true
},
"exclude": [
".ask",
"coverage",
"skill-package",
"infrasctructure",
"/**/node_modules",
"lambda/local/",
"__tests__",
"**/__mocks__"
]
}