分享一个Nodejs前端开发环境 Silky(实时编译/协同开发/多环境支持/路由转发/web 代理/多语言支持)
分享一个Nodejs前端开发环境 Silky(实时编译/协同开发/多环境支持/路由转发/web 代理/多语言支持)
这是我们团队目前在用的一个前端开发环境,第一个版本我大概花了一个星期,现在的版本是0.4.8,没错,已经改了48个版本了。目前已经挺稳定了,用起来挺爽的,基本上我们所有的的项目都是基于这个开发环境了,想分享给大家。
主要功能如下:
- 支持模块化协同开发,模板基于handlebars,但扩展了一些命令,比如说支持子模块,支持循环子模块N次等,支持指定子模块的数据源等
- 实时编译coffee和less,引用依然是css,但silky会按优先级去匹配相应的文件
- 支持build功能,支持internal js的压缩
- 支持代理功能,再也没有跨域的问题了
- 支持路由重写功能,这对于angular这类框架会在客户端重写url很重要
- 支持多种环境配置,我觉得这个功能很重要,因为前端后端分离开发经常会遇到的问题就是环境不一致,数据不一样,或者有些时候我们需要造一些假数据等等。
- 支持多国语言,如果你是前后端彻底分离的,前端最后要托管在nginx/apache下,那么这种多国语言的解决方案就很适合了。
- 快速构建silky项目的功能,可以通过silky init -f来构建一个silky的示例项目。
使用起来也很简单,真的非常简单,通过npm install -g silky之后,只需要在你的工作目录直接运行silky命令就可以了。
更多请访问github: https://github.com/wvv8oo/silky 欢迎star和fork,当前开发分支在develop,master好久没动过了
分享一个Nodejs前端开发环境 Silky(实时编译/协同开发/多环境支持/路由转发/web 代理/多语言支持)
这是我们团队目前在用的一个前端开发环境,第一个版本我大概花了一个星期,现在的版本是0.4.8,没错,已经改了48个版本了。目前已经挺稳定了,用起来挺爽的,基本上我们所有的项目都是基于这个开发环境了,想分享给大家。
主要功能如下:
-
支持模块化协同开发: 模板基于Handlebars,但扩展了一些命令,比如说支持子模块,支持循环子模块N次等,支持指定子模块的数据源等。例如,你可以创建一个子模块模板,并在主模板中多次引用它。
-
实时编译CoffeeScript和Less: 引用依然是CSS,但Silky会按优先级去匹配相应的文件。这样你可以在开发过程中编写CoffeeScript或Less,而Silky会自动编译为JavaScript和CSS。
// 示例:编译CoffeeScript const coffee = require('coffee-script'); const compiledJs = coffee.compile('console.log "Hello, World!"'); console.log(compiledJs); // 输出:(function() { console.log("Hello, World!"); }).call(this);
-
支持Build功能: 支持内部JS的压缩,以便于生产环境部署。
// 示例:压缩JS const UglifyJS = require('uglify-js'); const result = UglifyJS.minify('console.log("Hello, World!");'); console.log(result.code); // 输出:console.log("Hello, World!");
-
支持代理功能: 再也没有跨域的问题了。你可以设置代理规则,让请求转发到不同的服务器。
// 示例:设置代理 const httpProxy = require('http-proxy'); const proxy = httpProxy.createProxyServer({ target: 'http://example.com' }); proxy.web(req, res);
-
支持路由重写功能: 这对于Angular这类框架会在客户端重写URL很重要。
// 示例:路由重写 app.get('/api/*', (req, res) => { const path = req.url.replace('/api/', '/real-api/'); res.redirect(path); });
-
支持多种环境配置: 前后端分离开发经常会遇到的问题就是环境不一致,数据不一样,或者需要造一些假数据。Silky允许你轻松切换不同环境的配置。
-
支持多国语言: 如果你是前后端彻底分离的,前端最后要托管在Nginx/Apache下,那么这种多国语言的解决方案就很适合了。
-
快速构建Silky项目: 可以通过
silky init -f
来构建一个Silky的示例项目。
# 安装Silky
npm install -g silky
# 初始化Silky项目
silky init -f
使用起来也很简单,真的非常简单:
通过npm install -g silky
之后,只需要在你的工作目录直接运行silky
命令就可以了。
更多请访问GitHub:
Silky GitHub 欢迎star和fork,当前开发分支在develop,master好久没动过了
npm:
希望这个工具能帮助大家提高开发效率!
好像不错的样子,
自己顶一下
Silky 是一个强大的 Node.js 前端开发环境,集成了实时编译、协同开发、多环境支持、路由转发、web 代理和多语言支持等功能。以下是关于这些功能的一些示例代码和解释。
示例代码
-
安装与初始化
npm install -g silky mkdir my-silky-project cd my-silky-project silky init -f
-
实时编译 CoffeeScript 和 LESS 创建
src
目录,并在其中添加index.coffee
和style.less
文件。// src/index.coffee console.log "Hello, Silk!"
// src/style.less body { background-color: #f0f0f0; }
-
构建功能 使用 Silky 的构建功能来压缩内部 JavaScript。
silky build
-
代理功能 在
config/proxy.json
中配置代理:{ "/api": "http://localhost:3000" }
-
路由重写 在
config/routes.json
中配置路由重写:{ "/admin/*": "/client/admin.html" }
-
多环境配置 在
config/envs
目录下创建不同的环境配置文件,如development.json
和production.json
。 -
多语言支持 在
locales
目录下创建不同语言的翻译文件,例如en.json
和zh.json
。
运行项目
启动 Silky 开发服务器:
silky start
以上是 Silky 的一些基本功能和示例代码。希望这能帮助你在前端开发中提高效率。更多详细信息请查看 Silky GitHub 仓库。