分享一个Nodejs前端开发环境 Silky(实时编译/协同开发/多环境支持/路由转发/web 代理/多语言支持)

分享一个Nodejs前端开发环境 Silky(实时编译/协同开发/多环境支持/路由转发/web 代理/多语言支持)

这是我们团队目前在用的一个前端开发环境,第一个版本我大概花了一个星期,现在的版本是0.4.8,没错,已经改了48个版本了。目前已经挺稳定了,用起来挺爽的,基本上我们所有的的项目都是基于这个开发环境了,想分享给大家。

主要功能如下:

  1. 支持模块化协同开发,模板基于handlebars,但扩展了一些命令,比如说支持子模块,支持循环子模块N次等,支持指定子模块的数据源等
  2. 实时编译coffee和less,引用依然是css,但silky会按优先级去匹配相应的文件
  3. 支持build功能,支持internal js的压缩
  4. 支持代理功能,再也没有跨域的问题了
  5. 支持路由重写功能,这对于angular这类框架会在客户端重写url很重要
  6. 支持多种环境配置,我觉得这个功能很重要,因为前端后端分离开发经常会遇到的问题就是环境不一致,数据不一样,或者有些时候我们需要造一些假数据等等。
  7. 支持多国语言,如果你是前后端彻底分离的,前端最后要托管在nginx/apache下,那么这种多国语言的解决方案就很适合了。
  8. 快速构建silky项目的功能,可以通过silky init -f来构建一个silky的示例项目。

使用起来也很简单,真的非常简单,通过npm install -g silky之后,只需要在你的工作目录直接运行silky命令就可以了。

更多请访问github: https://github.com/wvv8oo/silky 欢迎star和fork,当前开发分支在develop,master好久没动过了

npm: https://www.npmjs.org/package/silky


4 回复

分享一个Nodejs前端开发环境 Silky(实时编译/协同开发/多环境支持/路由转发/web 代理/多语言支持)

这是我们团队目前在用的一个前端开发环境,第一个版本我大概花了一个星期,现在的版本是0.4.8,没错,已经改了48个版本了。目前已经挺稳定了,用起来挺爽的,基本上我们所有的项目都是基于这个开发环境了,想分享给大家。

主要功能如下:

  1. 支持模块化协同开发: 模板基于Handlebars,但扩展了一些命令,比如说支持子模块,支持循环子模块N次等,支持指定子模块的数据源等。例如,你可以创建一个子模块模板,并在主模板中多次引用它。

  2. 实时编译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);
    
  3. 支持Build功能: 支持内部JS的压缩,以便于生产环境部署。

    // 示例:压缩JS
    const UglifyJS = require('uglify-js');
    const result = UglifyJS.minify('console.log("Hello, World!");');
    console.log(result.code); // 输出:console.log("Hello, World!");
    
  4. 支持代理功能: 再也没有跨域的问题了。你可以设置代理规则,让请求转发到不同的服务器。

    // 示例:设置代理
    const httpProxy = require('http-proxy');
    const proxy = httpProxy.createProxyServer({ target: 'http://example.com' });
    proxy.web(req, res);
    
  5. 支持路由重写功能: 这对于Angular这类框架会在客户端重写URL很重要。

    // 示例:路由重写
    app.get('/api/*', (req, res) => {
      const path = req.url.replace('/api/', '/real-api/');
      res.redirect(path);
    });
    
  6. 支持多种环境配置: 前后端分离开发经常会遇到的问题就是环境不一致,数据不一样,或者需要造一些假数据。Silky允许你轻松切换不同环境的配置。

  7. 支持多国语言: 如果你是前后端彻底分离的,前端最后要托管在Nginx/Apache下,那么这种多国语言的解决方案就很适合了。

  8. 快速构建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 npm

希望这个工具能帮助大家提高开发效率!


好像不错的样子,

自己顶一下

Silky 是一个强大的 Node.js 前端开发环境,集成了实时编译、协同开发、多环境支持、路由转发、web 代理和多语言支持等功能。以下是关于这些功能的一些示例代码和解释。

示例代码

  1. 安装与初始化

    npm install -g silky
    mkdir my-silky-project
    cd my-silky-project
    silky init -f
    
  2. 实时编译 CoffeeScript 和 LESS 创建 src 目录,并在其中添加 index.coffeestyle.less 文件。

    // src/index.coffee
    console.log "Hello, Silk!"
    
    // src/style.less
    body {
      background-color: #f0f0f0;
    }
    
  3. 构建功能 使用 Silky 的构建功能来压缩内部 JavaScript。

    silky build
    
  4. 代理功能config/proxy.json 中配置代理:

    {
      "/api": "http://localhost:3000"
    }
    
  5. 路由重写config/routes.json 中配置路由重写:

    {
      "/admin/*": "/client/admin.html"
    }
    
  6. 多环境配置config/envs 目录下创建不同的环境配置文件,如 development.jsonproduction.json

  7. 多语言支持locales 目录下创建不同语言的翻译文件,例如 en.jsonzh.json

运行项目

启动 Silky 开发服务器:

silky start

以上是 Silky 的一些基本功能和示例代码。希望这能帮助你在前端开发中提高效率。更多详细信息请查看 Silky GitHub 仓库

回到顶部