Skip to content

A server environment for front-end developers By PHP

License

Notifications You must be signed in to change notification settings

Bacra/php-d2server

Repository files navigation

NOTE

基于NodeJS的D2Server已经发布,请关注node-d2server这个项目

由于环境配置较为复杂,需要分布配置Apache、Chrome、Fiddler2,运行的时候,需要同时启动Apache和Node App, 项目已经停止更新

爱折腾的朋友可以继续Fork,至今依然喜欢这个模版引擎的(完全面向前端)

PHP-D2Server

这是一个使用PHP结合Apache编写的前端开发环境。

PS:这是用PHP编写的D2Server版本,你可能在寻找node版本

Get Started

  1. Server配置导入到Apache
  2. 安装NodeJS,并在NodeJS文件夹下,运行npm i
  3. 配置Java环境
  4. 配置Server变量,见common.inc.php
  5. 下载gccyuicompressor,并将路径按照配置文件中的JSC CSSC变量写入到系统环境中
  6. 在Chrome中导入[AutoF5插件](./Chrome Extension/AutoF5)
  7. 按照Server的配置,在项目中创建.source\.buildconfg项目配置文件 example
  8. 在系统host中添加127.0.0.1 www.test.com
  9. 进入build文件夹文件夹,运行安装.bat
  10. 安装全局的基于NodeJS的LESSC
  11. 运行Apache和NodeJS文件夹下的server.js

Features

  • 基于配置文件的项目管理模式
  • 开发文件使用独立文件夹保存,实现模块化的文件保存,由程序进行合并、导出(带压缩)、同步
  • 使用类PHPTAL的模版引擎,使用PHP原生DOM类实现了loop default define block text html label init-omit use-omit等方法
  • 实现基于websocket的浏览器动态刷新(仅限Chrome)

Template Engine

  • loop 循环tag包含的内容
  • default 设置变量的默认值
  • define 定义变量(作用域限于标签内)
  • text 替换tag中的内容(HTML标签不转义)
  • html 替换tag中的内容(HTML标签转义)
  • label 无意义的标签,在模版解析完成后,会删除
  • block 基于项目配置文件中HTML的block参数,简化的if命令
  • init-omit 定义omit,便于HTML代码的复用
  • use-omit 使用已经定义的omit

同时,可以使用几个基于Smarty语法的命令 foreach if else elseif $var

Warn

  • 原生PHP的DOM类不支持gbk编码,同时文件必须声明HTML版本,否则会出现解析错误
  • 尽量少使用中文路径,虽然已经对一些路径进行了转码,但依旧难保window下出现路径错误
  • 启动后会占用80、3316、8080端口,分别是Apache Server、Apache Proxy Server、NodeJS
  • 程序没有提供导出HTML的方法,工作交接需要先和技术协商好

License

PHP-D2Server is available under the terms of the MIT License.

About

A server environment for front-end developers By PHP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages