mirror of
https://github.com/qier222/YesPlayMusic.git
synced 2024-11-25 04:43:52 +08:00
feat: update electron config
This commit is contained in:
parent
71ee186d83
commit
bd29570e31
|
@ -2,6 +2,8 @@
|
||||||
"name": "YesPlayMusic",
|
"name": "YesPlayMusic",
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"description": "A third party music application for Netease Cloud Music",
|
||||||
|
"author": "qier222",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
const { exec } = require("child_process");
|
||||||
|
// const fs = require('fs')
|
||||||
import { app, protocol, BrowserWindow } from "electron";
|
import { app, protocol, BrowserWindow } from "electron";
|
||||||
import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
|
import { createProtocol } from "vue-cli-plugin-electron-builder/lib";
|
||||||
import installExtension, { VUEJS_DEVTOOLS } from "electron-devtools-installer";
|
import installExtension, { VUEJS_DEVTOOLS } from "electron-devtools-installer";
|
||||||
const isDevelopment = process.env.NODE_ENV !== "production";
|
const isDevelopment = process.env.NODE_ENV !== "production";
|
||||||
|
// maybe use for modify app menu
|
||||||
|
// const contextMenu = require('electron-context-menu');
|
||||||
|
|
||||||
// Keep a global reference of the window object, if you don't, the window will
|
// Keep a global reference of the window object, if you don't, the window will
|
||||||
// be closed automatically when the JavaScript object is garbage collected.
|
// be closed automatically when the JavaScript object is garbage collected.
|
||||||
|
@ -15,14 +18,35 @@ protocol.registerSchemesAsPrivileged([
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function createWindow() {
|
function createWindow() {
|
||||||
|
console.log("Node Version: ", process.version);
|
||||||
|
const napi = exec("npm run napi:run");
|
||||||
|
let scriptOutput = "";
|
||||||
|
napi.stdout.setEncoding('utf8');
|
||||||
|
napi.stdout.on('data', (data) => {
|
||||||
|
console.log('napi: ' + data);
|
||||||
|
data = data.toString();
|
||||||
|
scriptOutput += data + '\n';
|
||||||
|
// TODO write file with stream
|
||||||
|
// const log = fs.createWriteStream(__dirname, '/tmp/' + +new Date + '.log')
|
||||||
|
// log.write(scriptOutput)
|
||||||
|
});
|
||||||
|
// napi.stdout.on('error', (err) => {
|
||||||
|
// console.log('napi error: ' + err);
|
||||||
|
// data = err.toString();
|
||||||
|
// scriptOutput += data + '\n';
|
||||||
|
// const log = fs.createWriteStream(__dirname, '/tmp/' + +new Date + 'error.log')
|
||||||
|
// log.write(scriptOutput)
|
||||||
|
// });
|
||||||
|
|
||||||
// Create the browser window.
|
// Create the browser window.
|
||||||
win = new BrowserWindow({
|
win = new BrowserWindow({
|
||||||
width: 1920,
|
width: 1920,
|
||||||
height: 768,
|
height: 768,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
webSecurity: false,
|
||||||
// Use pluginOptions.nodeIntegration, leave this alone
|
// Use pluginOptions.nodeIntegration, leave this alone
|
||||||
// See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
|
// See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
|
||||||
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
|
nodeIntegration: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -34,6 +58,7 @@ function createWindow() {
|
||||||
createProtocol("app");
|
createProtocol("app");
|
||||||
// Load the index.html when not in development
|
// Load the index.html when not in development
|
||||||
win.loadURL("app://./index.html");
|
win.loadURL("app://./index.html");
|
||||||
|
win.webContents.openDevTools();
|
||||||
}
|
}
|
||||||
|
|
||||||
win.on("closed", () => {
|
win.on("closed", () => {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
const CopywebpackPlugin = require('copy-webpack-plugin')
|
||||||
function resolve(dir) {
|
function resolve(dir) {
|
||||||
return path.join(__dirname, dir);
|
return path.join(__dirname, dir);
|
||||||
}
|
}
|
||||||
|
@ -75,19 +76,22 @@ module.exports = {
|
||||||
nsis: {
|
nsis: {
|
||||||
oneClick: false,
|
oneClick: false,
|
||||||
allowToChangeInstallationDirectory: true
|
allowToChangeInstallationDirectory: true
|
||||||
}
|
|
||||||
},
|
},
|
||||||
// chainWebpackMainProcess: config => {
|
// 集成 nodejs, https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration
|
||||||
// config.module
|
// nodeIntegration: true
|
||||||
// .rule('babel')
|
},
|
||||||
// .test(/\*.js$/)
|
chainWebpackMainProcess: config => {
|
||||||
// .use('babel')
|
// console.log(config)
|
||||||
// .loader('babel-loader')
|
let outputDir = 'dist_electron/bundled'
|
||||||
// .options({
|
config.plugin('copy').use(CopywebpackPlugin, [
|
||||||
// presets: [['@babel/preset-env', '@vue/cli-plugin-babel/preset', { modules: false }]],
|
[
|
||||||
// plugins: ['@babel/plugin-proposal-class-properties']
|
{
|
||||||
// })
|
from: path.resolve(__dirname, './NeteaseCloudMusicApi-master'),
|
||||||
// },
|
to: path.join(__dirname, outputDir, 'NeteaseCloudMusicApi-master')
|
||||||
|
}
|
||||||
|
]
|
||||||
|
])
|
||||||
|
}
|
||||||
// 渲染线程的配置文件
|
// 渲染线程的配置文件
|
||||||
// chainWebpackRendererProcess: config => {
|
// chainWebpackRendererProcess: config => {
|
||||||
// // 渲染线程的一些其他配置
|
// // 渲染线程的一些其他配置
|
||||||
|
|
Loading…
Reference in New Issue
Block a user