2017-04-10 58 views
8

我们有我们的网站的几个工具写在角1订单跟踪,价格行情等,它有一个非常正常的NPM结构如何构建一个Web /应用电子 - 代码将在两地

root/ 
├── build/ 
├── src/ 
│ ├── scripts/ 
│ ├── assets/ 
│ ├── app.js 
| ├── node_modules/ 
| ├── build/ 
├── package.json 
├── webpack.config.js 

现在我们要创建一个桌面应用程序,并且我们已经决定使用Electron,因为我们已经为网站编写的所有工具都可以正常工作。基本上,计划是扩展网站代码,并使用构建开关隐藏一些桌面功能。

所以我的问题是,设置文件夹结构的最佳方式是什么? Electron使用子项目(按照惯例在./app文件夹中)。现在,我有它设置这样

root/ 
├── app/ 
├── build/ 
├── dist/ 
├── src/ 
│ ├── assets/ 
| ├── build/ 
| ├── node_modules/ 
│ ├── scripts/ 
│ ├── app.js 
├── package.json 
├── webpack.config.js 

当我们建立我们的网站,的WebPack编译src文件夹build。对于Electron,我们增加了额外的步骤,build的内容随后被复制到app(电子子项目文件夹),并运行电子构建,输出到dist

这工作,但似乎hacky。有一个更好的方法吗?或者有更好的方式来建立一个“电子”分支和一个“网络应用程序”分支?

回答

2

我记得在electron forum前面发现了一个线程,主持人解决了这个问题,并且说文件结构没有特定的约定。
虽然,从我的经验,这似乎是大多数电子应用请使用此结构:

root/ 
├── assets/ 
├── css/ 
├── js/ 
├── node_modules/ 
├── index.html 
├── main.js 
├── package.json 
├── (ect..) 

还是更基于NPM-结构就像你正在使用中的一个。它通常似乎取决于应用程序的复杂性和正在使用的补充工具的惯例。

至于有一个单独的分支vs独立的分支机构,我认为在这一点上它归结为个人偏好,但我认为它可能更容易维护为一个单一的分支。

如果你有兴趣查看一些其他的方法,你可以查看电子网站上的各种boilerplates

+0

我花了一段时间才找到它,但[this](https://discuss.atom.io/t/design-patterns-inside-electron-application/29727)是我所参考的线索。 –

相关问题