电子锻造与反应?
Electron Forge with react?
有什么简单的方法可以使用 Electron-Forge 和 React 设置应用程序吗?我正在使用 webpack 模板,但不知道如何让 jsx 工作。我在 renderer.js
中有 React 内容
我想通了,
yarn create electron-app test --template=webpack
cd test
然后我安装了 babel:
yarn add @babel/core babel-loader @babel/preset-env @babel/preset-react --d
并反应:
yarn add react react-dom
使用以下代码在项目根目录中创建了一个 .babelrc:
{"presets": ["@babel/preset-env", "@babel/preset-react"]}
并将以下内容添加到 webpack.rules.js:
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
将 renderer.js 更改为 renderer.jsx 并从以下更改了 package.json 中的内容:
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/renderer.js",
"name": "main_window"
}
]
}
}
对此:
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/renderer.jsx",
"name": "main_window"
}
]
}
}
最后将 renderer.jsx 替换为:
import './index.css';
import React from 'react';
import ReactDOM from 'react-dom';
console.log('Loaded React.');
ReactDOM.render(<div>Test.</div>, document.getElementById('root'));
并将 index.html 替换为:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
1.Create Webpack 模板使用
yarn create electron-app my-new-app --template=webpack && cd my-new-app
2.Install 依赖关系
yarn add --dev @babel/core @babel/preset-react babel-loader
3.Add以下为webpack.rules.js
{
test: /\.jsx?$/,
use: {
loader: 'babel-loader',
options: {
exclude: /node_modules/,
presets: ['@babel/preset-react']
}
}
},
resolve: {
extensions: [".js", ".jsx"]
},
4.Add反应和反应-dom
yarn add react react-dom
有关详细信息,请参阅 electron-forge 文档
有什么简单的方法可以使用 Electron-Forge 和 React 设置应用程序吗?我正在使用 webpack 模板,但不知道如何让 jsx 工作。我在 renderer.js
中有 React 内容我想通了,
yarn create electron-app test --template=webpack
cd test
然后我安装了 babel:
yarn add @babel/core babel-loader @babel/preset-env @babel/preset-react --d
并反应:
yarn add react react-dom
使用以下代码在项目根目录中创建了一个 .babelrc:
{"presets": ["@babel/preset-env", "@babel/preset-react"]}
并将以下内容添加到 webpack.rules.js:
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
}
将 renderer.js 更改为 renderer.jsx 并从以下更改了 package.json 中的内容:
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/renderer.js",
"name": "main_window"
}
]
}
}
对此:
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/index.html",
"js": "./src/renderer.jsx",
"name": "main_window"
}
]
}
}
最后将 renderer.jsx 替换为:
import './index.css';
import React from 'react';
import ReactDOM from 'react-dom';
console.log('Loaded React.');
ReactDOM.render(<div>Test.</div>, document.getElementById('root'));
并将 index.html 替换为:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
1.Create Webpack 模板使用
yarn create electron-app my-new-app --template=webpack && cd my-new-app
2.Install 依赖关系
yarn add --dev @babel/core @babel/preset-react babel-loader
3.Add以下为webpack.rules.js
{
test: /\.jsx?$/,
use: {
loader: 'babel-loader',
options: {
exclude: /node_modules/,
presets: ['@babel/preset-react']
}
}
},
resolve: {
extensions: [".js", ".jsx"]
},
4.Add反应和反应-dom
yarn add react react-dom
有关详细信息,请参阅 electron-forge 文档