Poi
⚡A zero-config bundler for JavaScript applications.
Install / Use
/learn @egoist/PoiREADME
⚠️ Poi has been deprecated, please migrate to Vite, contact me personally if you need help.
<p align="center"> <img src="https://i.loli.net/2018/09/12/5b98e77352c9d.png" width="200"> </p> <br>Poi is a bundler built on the top of webpack, trying to make developing and bundling apps with webpack as easy as possible.
The Poi project is supported by our Backers and funded through Patreon.
Features
- 📦 Out of box support for JS, CSS, File assets and more.
- ⚛ Framework-agnostic but also support JSX, Vue and more with no configs.
- 🔌 Great extensibility.
- 🐙 Fits most web apps, npm libs.
- 🚨 Great development experience.
Quick Overview
Before we get started, ensure that you have installed Node.js (>=8) and Yarn (or npm) on your machine.
Get Started Immediately
yarn global add create-poi-app
create-poi-app my-app
cd my-app
npm run dev
Then open http://localhost:4000 to see your app.<br>
When you’re ready to deploy to production, create a minified bundle with npm run build.
Get Started Manually
Inside an empty project, run yarn init or npm init to create a package.json and install Poi:
yarn init
yarn add poi --dev
Now all you need is to create an entry file, like if you're building a website, just create an index.js:
const el = document.createElement('div')
el.textContent = 'Hello Poi!'
document.body.appendChild(el)
Now if you run:
yarn poi --serve
You will get a URL like http://localhost:4000 which you can open to preview the app.
Next let's start adding some dependencies like a CSS file style.module.css:
.title {
color: pink;
}
import styles from './style.module.css'
const el = document.createElement('div')
el.className = styles.title
el.textContent = 'Hello Poi!'
document.body.appendChild(el)
Save it and the browser will automatically reload to apply the changes!
Documentation
📚 https://poi.js.org
You can improve it by sending pull requests to this repository.
Check out this repository for more examples.
Community
All feedback and suggestions are welcome!
- 💬 Join the community on Spectrum.
- 📣 Stay up to date on new features and announcements on Twitter @poi__js.
Credits
Poi v12 wouldn't exist without the inspirations from following projects:
- Webpack
- Parcel 2
- Poi itself
- Vue CLI 3
- Create React App
License
MIT © EGOIST
Related Skills
bluebubbles
333.3kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
node-connect
333.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
slack
333.3kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
