Cha*_*nce 5 node.js npm typescript lerna
我正在尝试将我的项目设置为 monorepo,但我遇到了使用 TypeScript 和 Lerna 进行路径处理的烦人问题。
我有 2 个 React 项目、一个 API 和一个存储我的域模型和打字稿定义的核心项目。目前,我需要能够在我的 API 中使用核心代码以及我的 2 个 React 项目中的定义。
我遇到的问题是我必须从每个包的根路径。例如, @projectName/core/src/models/myModel代替@projectName/core/models/myModel. 该dist目录不包含该结构,这就是我要导入的内容。
我找到了几篇建议如何设置它的文章,但我仍然遇到问题并且不确定我哪里出错了。
我现在只专注于导出@projectName/core.
{
"exclude": ["node_modules", "dist"],
"compilerOptions": {
"baseUrl": ".",
"sourceMap": true,
"composite": true,
"declaration": true,
"paths": {
"@projectName/core": ["packages/core/src"],
"@projectName/api": ["packages/api/src"],
"@projectName/admin": ["packages/admin/src"],
"@projectName/client": ["packages/client"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
{
"name": "projectName",
"private": true,
"devDependencies": {
"lerna": "^3.20.2",
"typescript": "^3.8.3"
}
}
Run Code Online (Sandbox Code Playgroud)
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"lib": ["ES2019"],
"module": "commonjs",
"target": "ES2019",
"strict": true,
"resolveJsonModule": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src/**/*"]
}
Run Code Online (Sandbox Code Playgroud)
{
"name": "@projectName/core",
"version": "0.0.1",
"private": true,
"directories": {
"lib": "dist",
"test": "tests"
},
"files": [
"dist"
],
"scripts": {
"build": "npm run clean && npm run compile",
"clean": "rm -rf ./dist",
"compile": "tsc"
},
"dependencies": {
},
"devDependencies": {
"typescript": "^3.8.3",
"webpack": "^4.43.0",
}
}
Run Code Online (Sandbox Code Playgroud)
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"lib": ["ES2019"],
"module": "commonjs",
"target": "ES2019",
"strict": true,
"resolveJsonModule": true,
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist"
},
"include": ["src/**/*"]
}
Run Code Online (Sandbox Code Playgroud)
{
"name": "@projectName/api",
"version": "0.0.1",
"description": "api",
"files": [
"dist"
],
"main": "dist/server.js",
"scripts": {
},
"dependencies": {
"@packageName/core": "^0.0.1",
},
"devDependencies": {
"typescript": "^3.8.3",
"webpack": "^4.43.0",
"webpack-node-externals": "^1.7.2"
},
"private": true
}
Run Code Online (Sandbox Code Playgroud)
我从上面删除了依赖项以保持可读性。
添加这些设置是为了./tsconfig.json使其工作:
"composite": true,
"declaration": true
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激。谢谢!
| 归档时间: |
|
| 查看次数: |
1170 次 |
| 最近记录: |