P1 用reactjs和bootstrap创建页面IDE

Posted Jozky86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1 用reactjs和bootstrap创建页面IDE相关的知识,希望对你有一定的参考价值。

文章目录

页面IDE展示:

要求:

希望能够达到eclipse辅助编程的功能
关键字提醒,高亮
1, 有类似C语言的语法结构
2, 支持变量绑定
3, 支持整形和布尔型数据类型
4, 支持算术表达式的解析
5, 一级类定义(first-class)和高阶函数(higher order functions)
6, 支持闭包,这点像javascript
7, 支持字符串数据类型
8,支持数组型数据类型
9, 支持哈希表型数据类型

安装好Node.js

nom install --global create-react-app

create-react-app是通过npm模块发布的一个安装包,通过该工具,我们能快速创建一个node.js项目

npm install --save react-bootstrap

用来安装试用于react框架的bootstrap UI控件库,将使用它来开发我没Monkey编程语言的IDE

create-react-app monkey_compiler

在本地目录创建一个名为monkey_compiler的目录,它是一个可以运行的reactjs项目,因此可以直接修改或者添加

cd monkey_compiler
npm start

命令会启动一个开发模式的服务器,同时会自动调用浏览器打开一个页面
另:构建React-app应用时create-react-app卡住超慢的解决办法
解决方法是换源:

npm config set registry https://registry.npm.taobao.org
-- 配置后可通过下面方式来验证是否成功
npm config get registry
-- 显示出上述地址的话就是更换成功

下的真够慢的。。

reactjs组件化开发

通过乐高式搭积木的方式,逐步开发一个功能丰富的页面IDE出来。通过react组件组成我们想要的东西
总项目目录:

node_modules安装各种组件,react-bootstrap就下载在里面
在monkey-compiler项目中,有一个目录叫src/,该目录用于存放项目的所有代码文件


打开其中的index.js

其中的app就是一个组件

public里面含有的index.html

对其进行修改,修改后为:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import MonkeyCompilerIDE from './MonkeyCompilerIDE';
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(
  <MonkeyCompilerIDE />,
  document.getElementById('root')
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
registerServiceWorker();

在MonekyCompilerIDE.js中填写代码:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import MonkeyCompilerIDE from './MonkeyCompilerIDE';
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(<MonkeyCompilerIDE />, document.getElementById('root'));
registerServiceWorker();

注:大多数浏览器不支持es6这种编程方式,之所以用类似于面向对象的方式来写的代码浏览器可以执行,是因为react这个框架下面有个小型编译器叫babel,会把es6的js代码编译成es5js代码,这样所有编译器就可以执行。
jsx(javascript extension),
实现与前端的交互

<bootstrap.Panel header="Monkey Compiler" bsStyle="success">
  <bootstrap.FormGroup>
    <bootstrap.FormControl componentClass = "textarea" 
     style=textAreaStyle
     placeholder="Enter your code" />
  </bootstrap.FormGroup>
  <bootstrap.Button bsStyle="danger">
    Lexing
  </bootstrap.Button>
</bootstrap.Panel>

由于我们使用到了boostrap控件库,因此需要从外部引用相关的css样式文件,回到根目录,进入public目录,打开index.html,在其头部添加如下代码:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css">

以上是关于P1 用reactjs和bootstrap创建页面IDE的主要内容,如果未能解决你的问题,请参考以下文章

P1 用reactjs和bootstrap创建页面IDE

P1 用reactjs和bootstrap创建页面IDE

手写编译器

手写编译器

Reactjs+BootStrap开发自制编程语言Monkey的编译器:创建简易的页面IDE

手写编译器