tsconfig 中是否有一个选项可以将服务器和客户端编译到 public 和私有文件夹?
Is there an option in the tsconfig to compile a server and client to a public and private folder?
我有一个打字稿项目,我有以下文件结构
builds
-dev
--public
--private
-production
--public
--private
src
-server
-client
tsconfig
package.json
我希望我的 src/server 编译到构建中的私有文件夹,src/client 编译到 public 文件夹。我使用 Parcel 作为使用 tsc 的编译器。所以我的问题是,这可以通过单个 tsconfig.json 的编译器选项来完成吗?因为我注意到你只能指定 1 个输出目录。或者我是否必须在服务器和客户端目录中创建 2 个 tsconfigs 并以某种方式同时使用两者?
我能找到的所有示例都是使用 Webpack 完成的,我真的很想使用 Parcel。
Server & client-side TypeScript project organization, compilation
以下内容需要至少 打字稿版本 3.0 才能创建复合构建。
见https://www.typescriptlang.org/docs/handbook/project-references.html
您将使用两个 tsconfig:一个在 src/server
中,一个在 src/client
中;您还需要一个根 tsconfig.json
.
在根目录中,您需要:
"references": [{
"path": "./src/client"
}, {
"path": "./src/server"
}]
然后在 src/client/tsconfig.json
中您将需要以下内容:
"compilerOptions": {
"outDir": "../../builds/dev/public",
"rootDir": ".",
"composite": true
}
对 server
执行相同的操作。
现在,当您从根目录 运行 tsc --build
时,每个子项目都将被构建并放置在各自的输出中。导入和导出将像所有内容都存在于一个项目中一样工作。
有关完整示例,请参阅 project-references-demo
项目。
我有一个打字稿项目,我有以下文件结构
builds
-dev
--public
--private
-production
--public
--private
src
-server
-client
tsconfig
package.json
我希望我的 src/server 编译到构建中的私有文件夹,src/client 编译到 public 文件夹。我使用 Parcel 作为使用 tsc 的编译器。所以我的问题是,这可以通过单个 tsconfig.json 的编译器选项来完成吗?因为我注意到你只能指定 1 个输出目录。或者我是否必须在服务器和客户端目录中创建 2 个 tsconfigs 并以某种方式同时使用两者?
我能找到的所有示例都是使用 Webpack 完成的,我真的很想使用 Parcel。 Server & client-side TypeScript project organization, compilation
以下内容需要至少 打字稿版本 3.0 才能创建复合构建。
见https://www.typescriptlang.org/docs/handbook/project-references.html
您将使用两个 tsconfig:一个在 src/server
中,一个在 src/client
中;您还需要一个根 tsconfig.json
.
在根目录中,您需要:
"references": [{
"path": "./src/client"
}, {
"path": "./src/server"
}]
然后在 src/client/tsconfig.json
中您将需要以下内容:
"compilerOptions": {
"outDir": "../../builds/dev/public",
"rootDir": ".",
"composite": true
}
对 server
执行相同的操作。
现在,当您从根目录 运行 tsc --build
时,每个子项目都将被构建并放置在各自的输出中。导入和导出将像所有内容都存在于一个项目中一样工作。
有关完整示例,请参阅 project-references-demo
项目。