Reactjs 为什么Electron用以前的更改而不是最新的更改来构建react应用程序?
我已经创建了react应用程序,并用Reactjs 为什么Electron用以前的更改而不是最新的更改来构建react应用程序?,reactjs,electron,electron-builder,Reactjs,Electron,Electron Builder,我已经创建了react应用程序,并用electron builder构建了它,它运行得很好,然后我更改了代码以添加新功能,并用相同的方法重新构建了它,但这次我得到了以前的构建 请找到我的electron.js和Package.json文件,如果需要更多信息,请告诉我 electron.js const electron = require('electron'); const app = electron.app; const BrowserWindow = electr
electron builder
构建了它,它运行得很好,然后我更改了代码以添加新功能,并用相同的方法重新构建了它,但这次我得到了以前的构建
请找到我的electron.js和Package.json文件,如果需要更多信息,请告诉我
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"
}
}
}
{
“名称”:“实用程序核心”,
“说明”:“将批量数据加载到Fluent”,
“版本”:“0.0.2”,
“许可证”:“ISC”,
“productName”:“Fluent批量导入实用程序”,
“作者”:{
“姓名”:“Zain Ul Abideen”,
“电子邮件”:“zain。ulabideen@faircg.com"
},
“私人”:没错,
“main”:“public/electron.js”,
“主页”:“/”,
“依赖项”:{
“自动刷新器”:“7.1.6”,
“axios”:“^0.18.0”,
“巴别塔核心”:“6.26.0”,
“babel eslint”:“7.2.3”,
“巴别塔笑话”:“20.0.3”,
“巴别塔装载机”:“7.1.2”,
“巴别塔预设反应应用程序”:“^3.1.1”,
“巴别塔运行时”:“6.26.0”,
“引导”:“^4.1.3”,
“区分大小写的路径网页包插件”:“2.1.1”,
“粉笔”:“1.1.3”,
“同时”:“^4.1.1”,
“css加载器”:“0.28.7”,
“dotenv”:“4.0.0”,
“dotenv扩展”:“4.2.0”,
“电子是发展”:“^1.1.0”,
“eslint”:“4.10.0”,
“eslint配置反应应用程序”:“^2.1.0”,
“eslint加载器”:“1.9.0”,
“eslint插件流类型”:“2.39.1”,
“eslint插件导入”:“2.8.0”,
“eslint-plugin-jsx-a11y”:“5.1.1”,
“eslint插件反应”:“7.4.0”,
“提取文本网页包插件”:“3.0.2”,
“文件加载器”:“1.1.5”,
“fs额外”:“3.0.1”,
“html网页包插件”:“2.29.0”,
“笑话”:“20.0.4”,
“jquery”:“^3.4.1”,
“mdbreact”:“^4.15.0”,
“对象分配”:“4.1.1”,
“papaparse”:“^4.6.0”,
“postcss flexbugs修复程序”:“3.2.0”,
“postcss加载程序”:“2.0.8”,
“承诺”:“8.0.1”,
“皇家空军”:“3.4.0”,
“反应”:“^16.4.1”,
“反应可折叠”:“^2.6.0”,
“反应开发工具”:“^5.0.1”,
“react dom”:“^16.4.1”,
“react文件读取器”:“^1.1.4”,
“反应路由器dom”:“^4.2.0”,
“反应微调器”:“^0.4.6”,
“反应过渡组”:“^2.2.1”,
“解决”:“1.6.0”,
“样式加载器”:“0.19.0”,
“sw precache网页包插件”:“0.11.4”,
“通用cookie”:“^3.0.4”,
“url加载器”:“0.6.2”,
“等待”:“^3.2.0”,
“网页包”:“3.8.1”,
“网页包开发服务器”:“2.9.4”,
“网页包清单插件”:“1.3.2”,
“whatwg fetch”:“2.0.3”
},
“脚本”:{
“开始”:“节点脚本/start.js”,
“build”:“节点脚本/build.js”,
“测试”:“节点脚本/test.js--env=jsdom”,
“pack”:“electron builder--dir”,
“dist”:“electron builder”
},
“依赖性”:{
“csv加载程序”:“^3.0.2”,
“电子”:“^1.8.8”,
“electron builder”:“^20.44.4”,
“电子包装商”:“^8.7.2”
},
“笑话”:{
“CollectionCoverage from”:[
“src/***.{js,jsx,mjs}”
],
“设置文件”:[
“/config/polyfills.js”
],
“测试匹配”:[
“/src/***/\uuuuuuuu测试{js,jsx,mjs}”,
“/src/**/?(*)(规范测试)。{js,jsx,mjs}”
],
“测试环境”:“节点”,
“testURL”:”http://localhost",
“转变”:{
“^.+\.(js|jsx|mjs)$”:“/node_modules/babel jest”,
“^.+\.css$”:“/config/jest/cstransform.js”,
“^(?。*\(js | jsx | mjs | css | json)$)”:“/config/jest/fileTransform.js”
},
“transformIgnorePatterns”:[
“[/\\\\\]节点单元模块[/\\\\].+\\.(js | jsx | mjs)$”
],
“moduleNameMapper”:{
“^react native$”:“react native web”
},
“moduleFileExtensions”:[
“web.js”,
“js”,
“json”,
“web.jsx”,
“jsx”,
“节点”,
“mjs”
]
},
“巴别塔”:{
“预设”:[
“环境”,
“反应应用程序”
],
“插件”:[]
},
“eslintConfig”:{
“扩展”:“反应应用程序”
},
“构建”:{
“扩展”:null,
“appId”:“com.example.utility核心”,
“文件”:[
“构建/****”,
“节点\单元/****”,
“public/electron.js”
],
“目录”:{
“构建资源”:“构建”
}
}
}
我还尝试了
“electron dev”:“并发”npm start“等待”http://localhost:3000 &&electron.\“”
但加载后,在浏览器上获取最新版本,但在桌面上获取以前的版本。提前感谢您的帮助,因为您打包了旧的react
代码。在使用electron builder打包应用程序之前,您需要构建react
应用程序。因此,您需要更改pack
脚本以生成react
"pack": "npm run build && electron-builder --dir",
但是从哪里开始的旧代码?我的意思是,当我添加新功能时,代码已经改变了,那么为什么要构建旧功能呢?您的电子设备使用
build
文件夹中的文件。因此,当您更改react
代码但不构建react
代码时。build
文件夹中的代码未更新