Electron --- Create-React-App + Antd + Electron 的搭建
步骤
创建 create-react-app-antd 项目
- git clone https://github.com/ant-design/create-react-app-antd
- npm install
- 将 webpack 所有内建的配置暴露出来,
npm run eject
, 如果发现错误,看下 package.json 里 eject 的脚本是不是为react-scripts eject
- 修改 config-overrides.js
1 | module.exports = function override(config, env) { |
修改 webpack.config.js 里的
module.rules.oneOf
支持 css 和 less, 添加1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36{
test: /\.(css|less)$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
},
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009',
}),
],
},
},
{
loader: require.resolve('less-loader'),
options: { javascriptEnabled: true }
},
],
}修改 start.js 注释掉下面代码关闭项目启动自动打开浏览器
1 | // openBrowser(urls.localUrlForBrowser); |
package.json 添加
"homepage": "."
,防止打包后的静态文件 index.html 引入 css 和 js 的路径错误App.less 修改为
@import '~antd/dist/antd.less';
添加 electron
- package.json 添加
"main": "main.js",
和 electron 依赖
1 | { |
- 创建 main.js,添加以下代码
1 | const {app, BrowserWindow, Menu} = require('electron'); |
- package.json 更改脚本
1 | { |
- 启动时先 react-start 再 eletron-start 即可看到效果