在ReactJS中具有不可变数据结构的CMS UI

・7 分钟阅读

  • 源代码名称: neos-ui
  • 源代码网址: https://www.github.com/neos/neos-ui
  • neos-ui的文档
  • neos-ui的源代码下载
  • Git URL:
    git://www.github.com/neos/neos-ui.git
  • Git Clone代码到本地:
    git clone https://www.github.com/neos/neos-ui
  • Subversion代码到本地:
    $ svn co --depth empty https://www.github.com/neos/neos-ui
                              Checked out revision 1.
                              $ cd repo
                              $ svn up trunk
              
  • @neos/neos-ui

    Build StatusDependency StatusdevDependency StatusSlackForumTwitter

    用ReactJS编写的下一代Neos CMS接口,具有不可变数据结构。

    浏览器支持

    新界面支持所有浏览器里的常青树(即自更新浏览器,包括:Chrome,Firefox,safari,edge,Opera和其他基于web kit的浏览器,如果你在任何支持的浏览器中发现Bug,请报告他们

    特性

    • 更好地编辑响应式网站的体验,
    • 缩短后端的加载时间,
    • 多站点系统上的正确样式表没有重新加载约束,
    • 更新了Font-Awesome到v4.5.0(旧图标名称即时迁移)。

    安装和使用

    新的用户界面已包含基本Neos CMS ,如果还没有安装,请按以下步骤操作:

    你需要NEOS CMS 33或更高版本

    运行以下命令:

    
    composer require neos/neos-ui neos/neos-ui-compiled
    
    
    
    

    现在你都设置好了,你可以像往常一样通过/neos路由登录到新接口。

    更新

    
    composer update neos/neos-ui neos/neos-ui-compiled
    
    
    
    

    安装开发机

    为了尝试新的用户界面,我们建议你运行正式发布的beta版本,你可以使用以下方法安装主发行版:

    
    composer require neos/neos-ui:dev-master neos/neos-ui-compiled:dev-master
    
    
    
    

    捐赠

    要开始贡献,请按以下步骤操作:

    确保已将dev-master版本安装在(请参见上方)中。

    我们需要以及yarn (https://yarnpkg.com/en/ )命令和GNU Make (https://www.gnu.org/software/make/ )来安装在你的系统上。

    Configuration/Settings.yaml内,设置以下属性以禁用预编译的文件:

    
    Neos:
    
    
     Neos:
    
    
     Ui:
    
    
     frontendDevelopmentMode: true
    
    
    
    

    运行初始化脚本:

     
    make setup
    
    
    
     

    获取有关代码库的概述,我们录制了YouTube上的介绍,让你熟悉基础知识,此外,请与我们联系Slack频道#project-ui-rewrite,我们希望能帮助你!

    开发命令
    命令说明
    make clean 删除每个子目录中的所有节点模块,
    make build 运行开发构建,
    make build-watch 监视源文件以进行更改,并在情况下运行生成,
    make build-watch-poll 监视(和轮询)文件共享上的源文件,例如在使用VM时最好使用,
    make storybook 在端口9001上启动故事书服务器,
    make lint 执行make lint-jsmake lint-editorconfig
    make lint-js 通过Lerna在所有子包中运行测试,
    make lint-editorconfig 测试所有文件是否都尊重.editorconfig
    make test 在所有源文件上执行测试,
    make test-e2e 执行集成测试,
    自定义web pack实时重新加载选项

    如果你正在虚拟机中开发,并且正在本地系统上运行watch命令,则可能需要调整实时重新加载opton 。

    这可以通过将.webpack.livereload.local.js放入存储库root中来完成。

    例子文件如下所示:

    
    module.exports = {
    
    
     protocol: 'http',
    
    
     port: '123',
    
    
     hostname: 'localhost'
    
    
    };
    
    
    
    
    代码样式

    我们的代码样式基于xo,有一个很大的区别-我们使用4空格而不是制表符,这样可以让我们的代码样式与我们的PHP代码库的PSR-2标准稍微看齐,要整理代码,在shell中执行make lint

    编写单元测试

    单元测试的执行方式是jest ,若要运行单元测试,请在shell中执行make test

    添加单元测试是相当简单的,只要在相同的树级别创建一个文件,名为[filename].spec.js和Karma 。

    如果你想运行特定测试而不是整个测试套件,请使用it.only(()=> {})describe.only(()=> {})

    集成测试

    对于端到端测试,我们使用无头chrome。因此,必须安装Chrome浏览器进行集成测试,由于Chrome 59,无头模式已集成,所以,请安装Chome 59或更高版本来执行端到端测试。

    释放

    运行 VERSION=<VERSION_YOU_WANT_TO_RELEASE> make release 例如,VERSION=1.0.2 make release,这将检查你是否设置环境变量,重新安装所有node_modules,构建生产版本运行make lintmake testmake test-e2e,通过lerna在本地获取版本并将该版本作为新的npm标记发布,之后你应该仔细地重新访问你的本地更改,然后提交,并且在Github上打开一个pull请求。当travis运行合并时,它会在Github上标记一个新版本。

    许可证

    the SOFTWARE is PROVIDED "AS IS" ,WITHOUT WARRANTY of any KIND ,EXPRESS or IMPLIED ,INCLUDING but not LIMITED to the WARRANTIES of MERCHANTABILITY ,FITNESS for A particular PURPOSE and NONINFRINGEMENT . in no EVENT shall the AUTHORS or COPYRIGHT HOLDERS be LIABLE for any CLAIM ,DAMAGES or other LIABILITY ,WHETHER in an ACTION of CONTRACT ,TORT or OTHERWISE ,ARISING FROM ,OUT of or in CONNECTION with the SOFTWARE or the use or other DEALINGS in the SOFTWARE .

    讨论
    Fansisi profile image