我们在Visual Studio中有以下项目结构。我们有一个SharedComponents项目的原因是因为我们的客户端和管理界面之间共享了很多组件。我们使用特征模式,并希望有这个项目结构。
/src(.sln)
--/PublicClient
--/Admin
--/SharedComponents
我们的SharedComponents项目不是Visual Studio Shared Project
而是Class Library
,因为我们使用TypeLite NuGet从.NET类生成TypeScript
接口。
由于SharedComponents项目有自己的package.json
,tsconfig.json
和tslint.json
,我们面临很多问题。
模块化是这里描述的问题之一:
如果我们更改任何项目中的任何内容(包括SharedComponents),我们不会松开的一个功能是使用webpack-dev-server
进行热重新加载。
我已经阅读了很多相关内容,但没有找到任何好的解决方案。
npm link
由于移动node_modules
中的依赖关系而导致构建错误。
https://github.com/npm/npm/issues/10343
https://github.com/facebookincubator/create-react-app/issues/1492
我们不想跳过共享项目并将文件复制到我们的项目中。在两个不同的项目中维护相同的组件将是耗时的。
如果我们将我们的共享项目开源到NPM
或使用其他服务,例如
NPM private modules,linklocal,Bit或sinopia我们将失去热重新加载和/或必须单独维护包。
还有其他人处于相同的情况并找到了一个好的解决方案吗?
答案 0 :(得分:0)
我们决定将所有前端代码放在一个项目中,然后在那里使用单独的文件夹。这意味着我们只有一个package.json
,node_modules
,tsconfig.json
和tslint.json
。我们不能在同一个项目中使用API:但由于我们可以使用webpack-dev-server
进行热重新加载,因此最终仍然是一个很好的权衡。
然后我们使用了两个名为webpack.config.js
和webpack.publicclient.config.js
的{{1}}个文件来进行不同的配置。