代码之家  ›  专栏  ›  技术社区  ›  Ogglas

共享react前端组件->使用TypeScript分离项目->Visual Studio 2017

  •  1
  • Ogglas  · 技术社区  · 7 年前

    我们在Visual Studio中有以下项目结构。我们之所以有一个SharedComponents项目,是因为我们的客户机和管理界面之间共享了许多组件。我们使用功能模式,并希望有这个项目结构。

    /src(.sln)
    --/PublicClient
    --/Admin
    --/SharedComponents
    

    我们的SharedComponents项目不是 Visual Studio Shared Project Class Library 因为我们使用 TypeLite 要生成的NuGet TypeScript 来自的接口。NET类。

    由于SharedComponents项目有自己的 package.json , tsconfig.json tslint.json .

    模块配置是此处描述的问题之一:

    Typescript 2.6 -> Extend type definition for external library with module augmentation -> TS2339: Property '' does not exist on type ''

    我们不想失去的一个特性是热重新加载 webpack-dev-server 如果我们在任何一个项目中更改任何内容,包括SharedComponents。

    我读了很多关于这个的帖子,但没有找到任何好的解决方案。

    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 我们将松开热装和/或必须单独维护包装。

    是否有其他人也遇到过同样的情况并找到了一个好的解决方案?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ogglas    7 年前

    我们决定将所有前端代码放在一个项目中,然后在那里使用单独的文件夹。这意味着我们只有一个 package.json , node_modules , tsconfig.json tslint.json . 我们不能在同一个项目中使用API:s,但因为我们可以使用热重新加载 webpack-dev-server 最后,这仍然是一个很好的权衡。

    然后我们使用了两个单独的 webpack.config.js 调用的文件 webpack.publicclient.config.js webpack.admin.config.js 针对不同的配置。