我有一个工作区,其中有一个node_modules
文件夹和一个src
文件夹,其中包含我的 client 和 server 打字稿代码。看起来像这样:
/node_modules
/@types
/node
/requirejs
/src
/client
/admin
/index.ts
/tsconfig.json
/public
/index.ts
/tsconfig.json
/server
/index.ts
/tsconfig.json
我正在将requirejs
用于我的客户端代码,并将node
用于我的服务器代码。它们每个都有相似的类型,因此在构建代码时,会出现以下错误:
node_modules/@types/node/index.d.ts(6860,5): error TS2300: Duplicate identifier 'mod'.
node_modules/@types/requirejs/index.d.ts(38,11): error TS2300: Duplicate identifier 'mod'.
node_modules/@types/requirejs/index.d.ts(422,13): error TS2403: Subsequent variable declarations must have the same type. Variable 'require' must be of type 'NodeRequire', but here has type 'Require'.
我的 client 代码是否可以忽略node
定义,而我的 server 代码是否可以忽略requirejs
定义? / p>
答案 0 :(得分:1)
由于客户端和服务器版本分别具有tsconfig.json
个文件,因此您只需要设置types
compiler option即可限制每个版本中自动加载的node_modules/@types
软件包。另外,您可以为两个构建分别设置node_modules
目录。如果您无法解决此问题,请向您的问题中添加更多信息,我会再次查找。