1.安装Protons

节奏 2026-08-07 AstrillVPN 28 0

使用 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 应用。

1.安装Protons

扫码添加AstrillVPN官网微信

扫码添加AstrillVPN官网微信

029-8826-4715
扫码添加AstrillVPN官网微信

扫码添加AstrillVPN官网微信

网站地图