https://parceljs.org/getting-started/webapp/
https://hack.aragon.org/developers/tools/aragonui/getting-started
https://blog.jakoblind.no/react-parcel/
在git上发现了一个不错的UI(aragonUI),可以用Parcel手脚架快速搭建。
新整一个文件夹
npm init
npm install --save react
npm install --save react-dom
npm install --save-dev @babel/preset-react
npm install --save-dev @babel/preset-env
npm install --save-dev parcel-bundler
npm install --save @aragon/ui styled-components
npx copy-aragon-ui-assets ./public
(如果有依赖Bug的话,加 --legacy-peer-deps
=。= 路上踩了不少坑,比如 Parcel 官网上的用例是:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>My Parcel App</title> </head> <body> <div id="app"></div> <script type="module" src="index.js"></script> </body> </html>
但是type=”module”会引发bug,这个issue在git上讨论了很多,找到了一个能行的办法:
还遇到了一个BUG,也在stackoverflow有讨论:
官网的写法是:
import ReactDOM from "react-dom"; import { App } from "./App"; const app = document.getElementById("app"); ReactDOM.render(<App />, app);
这个好像是今年才修改的,改的方法如下:
然后就整好了(以为很简单,但是还是踩坑了)
文件结构:
package.json
"scripts": { "start": "parcel src\\index.html" },
.babelrc
{ "presets": ["@babel/preset-react"] }
src/App.js
import React from 'react' import { Main } from '@aragon/ui' export function App() { return ( <Main> <div>Your app goes here</div> </Main> ) }
src/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Papa's App</title> </head> <body> <div id="app"></div> <script defer src="index.js"></script> </body> </html>
src/index.js
import React from 'react'; import { App } from "./App"; import { createRoot } from 'react-dom/client' createRoot(document.getElementById('app')).render(<App />);
1 条评论
咪啪 · 2022年11月10日 下午5:29
有空看看能怎么玩玩这个) 发现这个官网样例跟react 18好像不是很兼容,一堆bug