ReactJS-在多个应用程序的单仓库中共享依赖于节点模块的通用代码

时间:2018-12-02 17:06:52

标签: reactjs webpack

我有一个应用程序,其中包含用于项目的公共端和管理员端的客户端应用程序和服务器应用程序。我希望通过这样的目录结构在所有应用程序之间共享代码:-

admin
  └─client
     └─dist
     └─node_modules
     └─src
     └─webpack
     .babelrc
     package.json
  └─server
     └─node_modules
     └─src
     package.json
common
  └─helpers
public
  └─client
     └─dist
     └─node_modules
     └─src
     └─webpack
     .babelrc
     package.json
  └─server
     └─node_modules
     └─src
     package.json

在我的webpack中,我有以下内容:-

module: {
  rules: [
    {
      test: /\.js$/,
      include: [
        configConstants.SRC_DIR,
        configConstants.HELPERS_DIR
      ],
      use: {
        loader: 'babel-loader',
      }
    },
  ],
},

configConstants.SRC_DIR和configConstants.HELPERS_DIR都包含正确的目录。问题是,当我从公共目录中包含时,我需要在那里包含它们,以便能够通过包含“ JSX”来解析react。现在,我可以将package.json放在公共文件夹中并包含必需的软件包,但我想知道是否有一种方法可以包含include语句,例如:-

Import React from 'react'

要引用应用程序本身的NPM软件包,即,如果我要从public> client运行NPM脚本,是否可以将这些软件包公开到公共文件夹中的代码中?示例:-

import React from "react"
import { FormattedDate, FormattedTime } from "react-intl"

export const formatDate = (date) => {
  return <FormattedDate value={date*1000}/>
}

...还是只需要在公共目录中分别建立一个package.jsonnode_modules目录?这可能对webpack的编译如何最小化有任何投入吗?谢谢。

0 个答案:

没有答案