使用 npm 或 Yarn 安装 Protons:
npm install -D protons
或者使用 Yarn:
yarn add protons
初始化项目
创建一个新的项目目录,并进入其中:
mkdir my-project cd my-project
初始化 npm 项目:
npm init -y
安装必要的依赖
安装 Protons 所需的前端依赖项:
npm install -D \ @protonsjs/react \ @protonsjs/react-dom \ @protonsjs/protons-private \ @protonsjs/protons
设置SCSS
安装 SCSS 和相关工具:
npm install -D sass sass-loader
配置Webpack
安装 Webpack 依赖并初始化配置文件:
npm install -D webpack webpack-cli npx webpack --generate
启动开发服务器
运行以下命令启动开发服务器:
npm run serve
创建一个简单的App组件
在 src/App.js 文件中编写代码:
import React from 'react';
import { Button } from 'protons';
export default function App() {
return (
<div className="container">
<h1>Hello Protons</h1>
<Button>Click me</Button>
</div>
);
}
使用Bootstrap组件
在 src/App.js 中:
import { Button, Card, Form } from 'protons';
export default function App() {
return (
<div className="container">
<Card className="mb-4">
<Card.Header>Card Title</Card.Header>
<Card.Body>
<Form>
<Form.Group>
<Form.Control placeholder="输入" />
</Form.Group>
<Form.Group className="mt-3">
<Form.Control type="select">
<option>选择一个</option>
</Form.Control>
</Form.Group>
<Button type="submit">提交</Button>
</Form>
</Card.Body>
</Card>
</div>
);
}
响应式布局
在 src/App.js 中:
import { Button, Card, Container, Row, Col } from 'protons';
export default function App() {
return (
<div className="container">
<h1>响应式布局</h1>
<Row className="mt-4">
<Col md={6}>
<Card>
<Card.Header>左边栏</Card.Header>
<Card.Body>
左边栏内容
</Card.Body>
</Card>
</Col>
<Col md={6}>
<Card>
<Card.Header>右边栏</Card.Header>
<Card.Body>
右边栏内容
</Card.Body>
</Card>
</Col>
</Row>
</div>
);
}
状态管理(使用Redux)
创建 Redux 配置文件:
import { createStore, applyMiddleware } from 'redux';
import { createBrowserHistory } from 'history';
import thunkMiddleware from 'redux-thunk';
const rootReducer = (state, actions) => {
return {
...state,
appName: 'Protons Demo'
};
};
const store = createStore(rootReducer, {
appName: 'Default Name'
}, applyMiddleware(thunkMiddleware));
export const getAppStore = () => store;
export const dispatch = store.dispatch;
在 src/App.js 中使用 Redux 状态:
import React from 'react';
import { connect } from 'react-redux';
import { Button } from 'protons';
import { getAppStore } from './store';
function App({ appName }) {
return (
<div className="container">
<h1>{appName}</h1>
<Button>Click me</Button>
</div>
);
}
export default connect()(App);
部署到生产服务器
将项目部署到 Heroku 或其他服务器:
npm run build
测试
在浏览器中访问 http://localhost:300 查看效果。
个性化样式(可选)
在 protons.config.js 中定义样式变量:
module.exports = {
theme: {
default: {
// 定义你的默认颜色
}
}
}
常见问题
- 样式未加载:确保
sass-loader正确安装,并在 CSS 中使用@import '~protons/scss'。 - 组件未显示:检查组件是否正确导入,并确保项目结构正确。
- 编译错误:检查 Webpack 配置是否正确,或者安装所有必要的依赖。
通过以上步骤,你应该能够顺利配置并使用 Protons 创建响应式 Web 应用。









