我正在尝试使用以下方法构建项目:
- Strapi 框架http://strapi.io
- ElectronJS http://electron.atom.io
- 反应模板http://coreui.io
我的目标是有一个 Electron 打包的应用程序,里面有 Strapi 服务器,为这个无反应模板提供服务。
所以我对将这些工具放在一起完全感到困惑。每个都有你的 web 包、开发服务器、构建过程等......
我知道这没有简单的秘诀,但是有什么方法或技巧可以帮助我,或者只是一个方向?
我正在尝试使用以下方法构建项目:
我的目标是有一个 Electron 打包的应用程序,里面有 Strapi 服务器,为这个无反应模板提供服务。
所以我对将这些工具放在一起完全感到困惑。每个都有你的 web 包、开发服务器、构建过程等......
我知道这没有简单的秘诀,但是有什么方法或技巧可以帮助我,或者只是一个方向?
我做到了,有可能做到,但我仍然有一些像这个一样没有弄清楚的事情
因此,为了实现您的目标,这需要在您的电子 index.js 文件中,您需要构建前端,并将构建过程的输出粘贴到您的公共文件夹中。
您还需要将带有 (api, assets, build, config, db, extensions, public) 文件夹的 package.json 从您的 strapi 项目复制到打包的电子应用程序文件夹中(在 exe 文件旁边)。
我知道这是个老问题,但我认为它可能会对某人有所帮助。
function createWindow() {
// Create the browser window.
const win = new BrowserWindow({
maximizable: true,
title: "Dental System",
webPreferences: {
nodeIntegration: true
}
})
win.maximize();
strapi().start().then(() => {
win.loadURL('http://localhost:1337/');
}).catch((e) => {
console.log(e);
});
win.on('closed', () => {
app.quit();
})
}
app.whenReady().then(createWindow)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
}
})