简体   繁体   中英

Why Electron is building react app with previous changes instead of latest ones?

I'd created the react app and built it with electron-builder , it worked fine then I changed my code to add new features and rebuilt it with the same approach but this time I am getting previous built.

Please find my electron.js and Package.json file also please let me know if anything more required.

electron.js

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

    const path = require('path');
    const url = require('url');
    let mainWindow;

    function createWindow() {
      mainWindow = new BrowserWindow();
      mainWindow.maximize();
      //mainWindow.loadURL(isDev ? 'http://localhost:3000' : `file://${path.join(__dirname, '../build/index.html')}`);
      mainWindow.loadURL(url.format({
        pathname: path.join(__dirname, '../build/index.html'),
        protocol: 'file:',
        slashes: true
      }));
      mainWindow.openDevTools();
      mainWindow.on('closed', () => mainWindow = null);
    }

    app.on('ready', createWindow);

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

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

package.json

        {
      "name": "utility-core",
      "description": "Load bulk data to Fluent",
      "version": "0.0.2",
      "license": "ISC",
      "productName": "Fluent Bulk Import Utility",
      "author": {
        "name": "Zain Ul Abideen",
        "email": "zain.ulabideen@faircg.com"
      },
      "private": true,
      "main": "public/electron.js",
      "homepage": "./",
      "dependencies": {
        "autoprefixer": "7.1.6",
        "axios": "^0.18.0",
        "babel-core": "6.26.0",
        "babel-eslint": "7.2.3",
        "babel-jest": "20.0.3",
        "babel-loader": "7.1.2",
        "babel-preset-react-app": "^3.1.1",
        "babel-runtime": "6.26.0",
        "bootstrap": "^4.1.3",
        "case-sensitive-paths-webpack-plugin": "2.1.1",
        "chalk": "1.1.3",
        "concurrently": "^4.1.1",
        "css-loader": "0.28.7",
        "dotenv": "4.0.0",
        "dotenv-expand": "4.2.0",
        "electron-is-dev": "^1.1.0",
        "eslint": "4.10.0",
        "eslint-config-react-app": "^2.1.0",
        "eslint-loader": "1.9.0",
        "eslint-plugin-flowtype": "2.39.1",
        "eslint-plugin-import": "2.8.0",
        "eslint-plugin-jsx-a11y": "5.1.1",
        "eslint-plugin-react": "7.4.0",
        "extract-text-webpack-plugin": "3.0.2",
        "file-loader": "1.1.5",
        "fs-extra": "3.0.1",
        "html-webpack-plugin": "2.29.0",
        "jest": "20.0.4",
        "jquery": "^3.4.1",
        "mdbreact": "^4.15.0",
        "object-assign": "4.1.1",
        "papaparse": "^4.6.0",
        "postcss-flexbugs-fixes": "3.2.0",
        "postcss-loader": "2.0.8",
        "promise": "8.0.1",
        "raf": "3.4.0",
        "react": "^16.4.1",
        "react-collapsible": "^2.6.0",
        "react-dev-utils": "^5.0.1",
        "react-dom": "^16.4.1",
        "react-file-reader": "^1.1.4",
        "react-router-dom": "^4.2.0",
        "react-spinners": "^0.4.6",
        "react-transition-group": "^2.2.1",
        "resolve": "1.6.0",
        "style-loader": "0.19.0",
        "sw-precache-webpack-plugin": "0.11.4",
        "universal-cookie": "^3.0.4",
        "url-loader": "0.6.2",
        "wait-on": "^3.2.0",
        "webpack": "3.8.1",
        "webpack-dev-server": "2.9.4",
        "webpack-manifest-plugin": "1.3.2",
        "whatwg-fetch": "2.0.3"
      },
      "scripts": {
        "start": "node scripts/start.js",
        "build": "node scripts/build.js",
        "test": "node scripts/test.js --env=jsdom",
        "pack": "electron-builder --dir",
        "dist": "electron-builder"
      },
      "devDependencies": {
        "csv-loader": "^3.0.2",
        "electron": "^1.8.8",
        "electron-builder": "^20.44.4",
        "electron-packager": "^8.7.2"
      },
      "jest": {
        "collectCoverageFrom": [
          "src/**/*.{js,jsx,mjs}"
        ],
        "setupFiles": [
          "<rootDir>/config/polyfills.js"
        ],
        "testMatch": [
          "<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
          "<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
        ],
        "testEnvironment": "node",
        "testURL": "http://localhost",
        "transform": {
          "^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
          "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
          "^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
        },
        "transformIgnorePatterns": [
          "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"
        ],
        "moduleNameMapper": {
          "^react-native$": "react-native-web"
        },
        "moduleFileExtensions": [
          "web.js",
          "js",
          "json",
          "web.jsx",
          "jsx",
          "node",
          "mjs"
        ]
      },
      "babel": {
        "presets": [
          "env",
          "react-app"
        ],
        "plugins": []
      },
      "eslintConfig": {
        "extends": "react-app"
      },
      "build": {
        "extends": null,
        "appId": "com.example.utility-core",
        "files": [
          "build/**/*",
          "node_modules/**/*",
          "public/electron.js"
        ],
        "directories": {
          "buildResources": "build"
        }
      }
    }

Also I tried "electron-dev": "concurrently \\" npm start\\" \\"wait-on http://localhost:3000 && electron .\\"" but after loading, getting latest version on browser but previuos version on Desktop. Thanks in advance for help

Because you package your old react code. You need to build your react app before using electron-builder to package your app. So you need to change pack script to build react .

"pack": "npm run build && electron-builder --dir",

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM