Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

astros

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

astros

简洁、高效的前端集成开发环境。

latest
Source
npmnpm
Version
1.0.13
Version published
Weekly downloads
17
-56.41%
Maintainers
1
Weekly downloads
 
Created
Source

Astros是一个前端集成开发环境,旨在通过工具自动化完成大部分非思考性的工作,如JS合并、脚本压缩、图片优化、合成雪碧图和字体文件等,让程序员更能享受编程本身。

Astros的核心,是做为一个前端静态资源服务器,每次请求,都是实时处理并返回。在Astros中,任何资源,如js、css、图片、字体、视频等都是一个Asset,收到请求后,依次调用可用的中间件完成对Asset的解析、依赖分析、优化等操作,最后返回处理结果。

通过Astros目前提供的中间件,已能完成如下功能:

  • 自动合并雪碧图
  • 根据SVG,自动合成字体文件
  • 二倍图转一倍图(只需要切2倍图,自动生成1倍图)
  • 自动对图片进行无损压缩,并附加交错属性
  • 解析LESS,自动完善样式HACK(如为border-radius添加-wekit-等前缀)
  • CSS和JS压缩
  • 支持在浏览器端使用CMD模式
  • HTML自动转JS模板(正常书写HTML,JS中作为变量引用,不必在JS中拼接字符串)
  • 静态资源发布时,支持文件名MD5
  • livereload 开发中

安装

安装astros-cli

创建项目时,你不必手动创建目录结构,挨个安装nodejs依赖,astros-cli能帮你完成这些工作。

npm install -g astros-cli

创建项目

astros create ~/astros-example

或者直接从 github 获取

git clone git@github.com:lemonabc/astros-example.git
cd astros-example
npm install
npm start

默认端口号是Web服务器端口号是3301,静态资源服务端口号是 3300

工作目录

root[dir] 站点根目录
    __cache[dir] 缓存目录
    assets[dir] 资源目录
        img[dir] 公共图片资源
        js[dir]公共JS资源
        jslib[dir] JS组件
            dialog[dir] 对话框组件,目录名称、文件名称必须和组件名称一致
                img[dir]该组件用到的图片
                dialog.js
                dialog.less
        less[dir]样式库
    components[dir] Web组件 *支持多级目录*
        header[dir] 通用头
            header.html
            header.js
            header.less
            img[dir]
    config[dir] 站点配置目录
        static.js   静态资源服务器配置
        site.js    站点配置。
    routes[dir] 路由 *支持多级目录*
    pages[dir] 页面模板 *支持多级目录*
    sh[dir]

配置文件

static.js

// 静态资源服务器配置
module.exports = {
    //......
}

发布时,会读取static-build.js,可在发布时才引用图片压缩、JS压缩等中间件。

属性类型默认值描述
nameStringdefault项目名称
portNumber3104静态资源服务器端口号
rootString项目根目录
jsExtStringjsJS文件后缀名
cssExtStringless样式文件后缀名
htmlExtStringhtmlhtml文件后缀名
assetsStringsite/assets静态资源目录
webComStringsite/componentsweb组件目录
jsComStringsite/assets/lessjs组件目录
cssLibStringsite/assets/less公共样式类库目录
pageStringroot/page页面存储路径
cacheStringroot/_cache缓存目录
releaseStringroot/_cache/release发布目录
imgStringroot/assets/img图片存放目录
imgCacheStringroot/_cache/imgcache图片处理缓存目录
ignoreArray['jslib', 'less'发布时要忽略的assets下的目录
middlewaresArray项目加载的中间件
cdnPrefix资源路径修饰符

site.js

属性类型默认值描述
portString3100web服务器端口号
rootString项目根目录
openTagString{{模板开始标记
closeTagString}}模板结束标记
pageStringroot/page页面存储路径
autoAssetsBooleanfalse支持自动引用页面CSS和JS
globalVariableObject全局参数
    // 站点端口号
    port: 3100,
    // 站点根目录
    root: require('path').join(__dirname, '..'),
    // 页面存储路径
    page: require('path').join(__dirname, '..', 'pages'),
    // 是否自动启用静态资源服务器
    // autoAssets: false,
    // 模板全局属性,在套页面时,用$.g.name访问
    // 通常用于设置版本号、图片服务器等全局参数
    : {
        assets: 'http://10.8.8.43:81/assets'
    }

发布时,会读取site-build.js

发布

在项目根目录下,执行

astros build

或者

astros build 项目目录

你可以增加 --html 参数,发布解析后的HTML

更多文档,请访问官网

FAQs

Package last updated on 17 Oct 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts