相同代码库的不同品牌

时间:2016-07-13 09:39:00

标签: reactjs less webpack

我在一个项目中,我们将使用相同的代码库创建不同的站点。 我希望为我在构建过程中以某种方式指定的每个站点都有一个品牌样式和配置。

任何人都知道实现这一目标的最佳途径吗?

1 个答案:

答案 0 :(得分:1)

我会对待不同的网站,就像对待不同的环境(开发,测试,产品)一样。如果没有很多更改,只需在运行站点的每台服务器上使用环境变量来定义它所在的站点。然后,您的代码可以有条件地执行操作(例如,将类site-x添加到正文以进行样式设置)。

如果您在脚本中设置环境,则可以使用类似dotenv的内容来简化设置环境变量(请记住Windows与* NIX的不同)。这样,当您想要测试特定网站的外观时,您将更改文件而不是实际环境变量。

如果站点之间有许多不同的配置项,那么您可以拥有多个配置文件(config-site-one.jsconfig-site-two.js)和一个返回正确配置的中心config.js文件在一些环境变量上,如MY_SITE_NAME

但是,如果你真的想要将网站打包到“发送”某处(?),那么你可以使用webpack blahblahblah --site=site-one之类的标志来运行你的构建命令。

您可以使用yargs获取该“网站”变量,并在您的构建过程中使用它,无论您喜欢这样。