这是我的情况:
我的目标: 设置程序包的配置,以便我可以从前端项目(javascript)和后端项目(typescript)中的相应子模块中自由导入。
我遇到的问题: 我认为这主要是由于我对软件包的工作方式/构建软件包时的编译工作缺乏了解,但是我在使软件包的适当部分在项目的两面都可以自由导入/使用方面遇到了巨大的困难。在调整配置(package.json / tsconfig.json)时,我看到了以下问题:
我主要在寻找什么:
关于我应该如何构造我的包裹以适合我的需求的说明。由于这可能是由于缺乏对程序包构建/翻译工作原理的深入了解,因此向我指出一些好的资源(或者至少是Google的正确建议)将非常有用/非常感谢。
我不想要的东西:
这是我当前正在使用的tsconfig.json:
{
"compilerOptions": {
"module": "commonjs",
"target": "es2015",
"sourceMap": true,
"allowJs": false,
"declaration": true,
"moduleResolution": "node",
"esModuleInterop": true,
"outDir": "./dist",
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"include": [
"src/**/*"
],
"exclude": ["node_modules", "dist"]
}
这是我当前正在使用的package.json:
{
"name": "package-name-goes-here",
"version": "1.0.0",
"description": "description-goes-here",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.js",
"scripts": {
"build": "ttsc"
},
"files": [
"src",
"dist"
],
"devDependencies": {
"ttypescript": "^1.5.12",
"typescript": "^4.0.3"
},
"_moduleAliases": {
"@": "dist"
},
"dependencies": {
"lodash": "^4.17.20"
}
}
要部署此软件包,我运行ttsc(或npm run build)并推送到我的私有github存储库。然后,我使用git + ssh使用npm安装软件包:
npm install "git+ssh://git@github.com/Org-Name/package-names-goes-here.git"
在此先感谢您的帮助,让我知道是否可以提供其他帮助信息!