我已经克隆了这个回购用于reactjs开发,并启用了热重加载。它的工作很好,问题是,我想运行这个应用程序在电子热重装。因此,在我的main.js文件中,我指向reactsjs index.html文件。显示空白页。虽然我可以看到标签内容“欢迎反应”在电子窗口,这意味着它的指向正确,但没有内容被显示。
我发现电子在抛出错误
Failed to load resource: net::ERR_FILE_NOT_FOUND app.js我是很新的反应开发(只从3-4天前开始),所以不知道如何解决它。下面是我的dir结构和webpack配置
我的应用程序正在http://localhost:8080/运行
目录结构
project
---node_modules
---src
------index.js
------Components
*babelrc
index.html (used by react)
main.js (used by electron)
package.json
webpack.config.jsWebpack配置
const webpack = require('webpack')
const path = require('path')
module.exports = {
devtool: 'source-map',
entry: {
'app': [
'babel-polyfill',
'react-hot-loader/patch',
'./src/index'
]
},
output: {
path: path.resolve(__dirname, './dist'),
filename: '[name].js'
},
module: {
rules: [
{ test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader' }
]
}
}发布于 2017-07-14 11:18:43
好的,我终于解决了这个问题。问题是"webpack-dev-server",这个命令创建app.js包文件,但实际上并没有将它放在您的目录中。它是从内存中服务的,这就是为什么它没有被生成,我的电子应用程序也找不到它的原因。我在这里张贴解决方案,以防任何初学者面临同样的情况。
只要转到package.json,用--watch param替换webpack开发服务器,它们的工作原理就差不多了。不同的是,webpack --watch将创建一个实际的捆绑文件,并将其放在您在config中指定的目录中。
这不管用
"scripts": {
"build": "webpack-dev-server --hot --history-api-fallback --open",
"app": " ./node_modules/electron/dist/Electron.app/Contents/MacOS/Electron ."
},下面的作品
"scripts": {
"build": "webpack --watch",
"app": " ./node_modules/electron/dist/Electron.app/Contents/MacOS/Electron ."
},发布于 2017-07-13 19:50:26
要运行react,您应该将其添加到webpack.config.js中的模块中,如下所示
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: ['react-hot-loader/webpack','babel-loader']
}
]
},您还应该将它添加到.babelrc中,如下所示:
{
"presets": [
"es2015",
"react"
],
"plugins": [ "react-hot-loader/babel" ]
}https://stackoverflow.com/questions/45089348
复制相似问题