मैं विंडोज 10 पर अपने कोणीय ऐप को पैकेज करने का प्रयास कर रहा हूं, लेकिन मुझे त्रुटि मिलती है और मुझे यकीन नहीं है कि इसे ठीक करने के बारे में कैसे जाना है:

enter image description here

मैं आदेश चला रहा हूँ:

"package-win": "electron-packager . qlocktwo-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=src/assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"QlockTwo App\"",

इलेक्ट्रॉन में परिवर्तित होने पर किए गए परिवर्तन

index.html मैंने <base href="/"> को <base href="./"> में बदल दिया

इलेक्ट्रॉन-मेन.जेएस

const setupEvents = require('./installers/setupEvents');
if (setupEvents.handleSquirrelEvent()) {
  return;
}

const {app, BrowserWindow} = require('electron');
let win;

function createWindow () {
  win = new BrowserWindow({width: 800, height: 600});
  win.loadFile('index.html');
  win.webContents.openDevTools();
  win.on('closed', () => {
    win = null;
  })
}

app.on('ready', createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

app.on('activate', () => {
  if (win === null) {
    createWindow();
  }
});

इंस्टॉलर/setupEvents.ts

const electron = require('electron');
const app = electron.app;

module.exports = {
  handleSquirrelEvent: function() {
    if (process.argv.length === 1) {
      return false;
    }

    const ChildProcess = require('child_process');
    const path = require('path');

    const appFolder = path.resolve(process.execPath, '..');
    const rootAtomFolder = path.resolve(appFolder, '..');
    const updateDotExe = path.resolve(path.join(rootAtomFolder, 'Update.exe'));
    const exeName = path.basename(process.execPath);
    const spawn = function(command, args) {
      let spawnedProcess, error;

      try {
        spawnedProcess = ChildProcess.spawn(command, args, {detached: true});
      } catch (error) {}

      return spawnedProcess;
    };

    const spawnUpdate = function(args) {
      return spawn(updateDotExe, args);
    };

    const squirrelEvent = process.argv[1];
    switch (squirrelEvent) {
      case '--squirrel-install':
      case '--squirrel-updated':
        spawnUpdate(['--createShortcut', exeName]);

        setTimeout(app.quit, 1000);
        return true;

      case '--squirrel-uninstall':
        spawnUpdate(['--removeShortcut', exeName]);

        setTimeout(app.quit, 1000);
        return true;

      case '--squirrel-obsolete':
        app.quit();
        return true;
    }
  }
};

इंस्टॉलर/विंडोज़/क्रिएटइंस्टालर.जेएस

const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller;
const path = require('path');

getInstallerConfig()
  .then(createWindowsInstaller)
  .catch((error) => {
    console.error(error.message || error);
    process.exit(1);
  });

function getInstallerConfig () {
  console.log('creating windows installer');
  const rootPath = path.join('./');
  const outPath = path.join(rootPath, 'release-builds');

  return Promise.resolve({
    appDirectory: path.join(outPath, 'Qlocktwo-app-win32-ia32/'),
    authors: 'My Name',
    noMsi: true,
    outputDirectory: path.join(outPath, 'windows-installer'),
    exe: 'qlocktwo-app.exe',
    setupExe: 'QlockTwoApp.exe',
    setupIcon: path.join(rootPath, 'src', 'assets', 'icons', 'win', 'icon.ico')
  })
}

यह मेरी फ़ाइल संरचना है:

enter image description here

-3
physicsboy 6 सितंबर 2018, 00:39
वैसे, मैं पहले electron-winstaller का उपयोग कर रहा था और यह सुनिश्चित करने के लिए बहुत कष्टप्रद था कि यह हर बार काम करता है लेकिन जब मैंने electron-builder पर स्विच किया तो सब कुछ इतना आसान था और सब कुछ काम कर गया। इसलिए मेरा सुझाव है कि आप किसी समय electron-builder पर जाएं
 – 
Joshua
6 सितंबर 2018, 12:15

2 जवाब

  1. नोड_मॉड्यूल फ़ोल्डर हटाएं
  2. भागो npm cache clean --force
  3. भागो npm install
0
Ayoub k 6 सितंबर 2018, 05:17
शायद इसे विंडोज़ से चलाने के साथ कुछ करना है? मैंने एक मैक से एक अलग प्रोजेक्ट पर विंडोज पैकेजर कोड बनाया है, और यह काम करता है। जब मैं कर सकता हूं तो मुझे अपने मैक पर इसका परीक्षण करना होगा।
 – 
physicsboy
6 सितंबर 2018, 11:53

इलेक्ट्रॉन विनस्टालर पैकेज स्थापित करने का प्रयास करें:

Npm इंस्टाल --सेव-देव इलेक्ट्रान-विनइंस्टालर

बेशक, जब से आपने इसे साफ किया है, तब से आपको इलेक्ट्रॉन स्थापित करने की आवश्यकता है।

0
Fabio Gomes 20 सितंबर 2018, 07:36