【发布时间】:2021-01-11 18:22:45
【问题描述】:
我正在构建一个应用程序,并且在我处于开发者模式时一切正常。 Everythink 可以正常工作。但是当我打包我的应用程序时,应用程序打开但它没有启动快速服务器。
对于开发测试,我在 bash 中运行 命令“node server.js”。现在我不知道 quasar.conf.js 或 package.json 中的正确设置 a) 在应用启动时启动 localhost 服务器,然后 b) 关闭应用时关闭本地主机并关闭
我读到的一件事是我可以安装 shelljs 并启动后端服务器,例如具有相同命令 node server.js 的 electron-main.js 文件。 我还发现了一个描述similar problem 的线程,但我还没有“构建”设置,并且不确定是否要更改电子打包器或生成器中“quasar.conf.js”中的任何内容或 package.json 中的某些内容
我很乐意提供任何提示,什么设置有效,最好在应用关闭时关闭服务器。
还有一个很好的资源来找到必要的设置和其他在使用 quasar/express/electron 从开发切换到生产时必须遵守的事项吗?
编辑: 我发现这可能很有价值thread。我认为 background.ts 现在转换为我的 electron-main.js 文件,我还不能正确。
克里斯干杯
package.json
{
"name": "App",
"version": "0.0.1",
"description": "A Quasar Framework app",
"productName": "Quasar app",
"author": "c",
"private": true,
"scripts": {
"lint": "eslint --ext .js,.vue ./",
"test": "echo \"No test specified\" && exit 0"
},
"dependencies": {
"@quasar/extras": "^1.0.0",
"axios": "^0.20.0",
"core-js": "^3.6.5",
"cors": "^2.8.5",
"jquery": "^3.5.1",
"quasar": "^1.0.0"
},
"devDependencies": {
"@quasar/app": "^2.0.8",
"babel-eslint": "^10.0.1",
"devtron": "^1.4.0",
"electron": "^9.3.1",
"electron-debug": "^3.1.0",
"electron-devtools-installer": "^3.1.1",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.9.0",
"eslint-loader": "^3.0.3",
"eslint-plugin-vue": "^6.1.2"
},
"browserslist": [
"last 10 Chrome versions",
"last 10 Firefox versions",
"last 4 Edge versions",
"last 7 Safari versions",
"last 8 Android versions",
"last 8 ChromeAndroid versions",
"last 8 FirefoxAndroid versions",
"last 10 iOS versions",
"last 5 Opera versions"
],
"engines": {
"node": ">= 10.18.1",
"npm": ">= 6.13.4",
"yarn": ">= 1.21.1"
}
}
quasar.conf.js
module.exports = function (/* ctx */) {
return {
boot: [
'axios',
],
css: [
'app.sass'
],
// https://github.com/quasarframework/quasar/tree/dev/extras
extras: [
'roboto-font', // optional, you are not bound to it
'material-icons', // optional, you are not bound to it
],
// Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
build: {
vueRouterMode: 'hash',
extendWebpack (cfg) {
cfg.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /node_modules/
})
},
},
devServer: {
https: false,
port: 8080,
open: true
},
// https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
framework: {
iconSet: 'material-icons', // Quasar icon set
lang: 'en-us', // Quasar language pack
config: {},
// Quasar plugins
plugins: ['LocalStorage', 'jquery']
},
// animations: 'all', // --- includes all animations
// https://quasar.dev/options/animations
animations: [],
// https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
ssr: {
pwa: false
},
// https://quasar.dev/quasar-cli/developing-pwa/configuring-pwa
pwa: {
workboxPluginMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
workboxOptions: {}, // only for GenerateSW
manifest: {
name: `Quasar App`,
short_name: `Quasar App`,
description: `A Quasar Framework app`,
display: 'standalone',
orientation: 'portrait',
background_color: '#ffffff',
theme_color: '#027be3',
icons: []
}
},
cordova: {
},
capacitor: {
hideSplashscreen: true
},
// Full list of options: https://quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
electron: {
bundler: 'packager', // 'packager' or 'builder'
packager: {
},
builder: {
// https://www.electron.build/configuration/configuration
appId: 'vuextest'
},
// More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
nodeIntegration: true,
extendWebpack (/* cfg */) {
}
}
}
}
【问题讨论】:
标签: node.js express vue.js electron quasar-framework