尝试使用 React 管理模板 + strapi + electron
trying to use a react admin template + strapi + electron
我正在尝试使用以下方法构建项目:
- Strapi 框架http://strapi.io
- ElectronJS http://electron.atom.io
- 反应模板http://coreui.io
我的 objective 是有一个 Electron 打包的应用程序,里面有 strapi 服务器,服务于这个 React 免费模板。
所以我对将这些工具放在一起感到非常困惑。每个都有你的 webpackage、开发服务器、构建过程等...
我知道这没有简单的方法,但是有什么方法或技巧可以帮助我解决这个问题,或者只是一个方向吗?
我做到了,这是可能的,但我还有一些东西不像
figured-out
所以要实现你的 objective 这需要在你的电子 index.js 文件中,
您需要构建 front-end,并将构建过程的输出粘贴到 strapi.
的 public 文件夹中
您还需要将 package.json 和 (api, assets, build, config, db, extensions, public) 文件夹从您的 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()
}
})
我正在尝试使用以下方法构建项目:
- Strapi 框架http://strapi.io
- ElectronJS http://electron.atom.io
- 反应模板http://coreui.io
我的 objective 是有一个 Electron 打包的应用程序,里面有 strapi 服务器,服务于这个 React 免费模板。
所以我对将这些工具放在一起感到非常困惑。每个都有你的 webpackage、开发服务器、构建过程等...
我知道这没有简单的方法,但是有什么方法或技巧可以帮助我解决这个问题,或者只是一个方向吗?
我做到了,这是可能的,但我还有一些东西不像
所以要实现你的 objective 这需要在你的电子 index.js 文件中, 您需要构建 front-end,并将构建过程的输出粘贴到 strapi.
的 public 文件夹中您还需要将 package.json 和 (api, assets, build, config, db, extensions, public) 文件夹从您的 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()
}
})