V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
coraline
V2EX  ›  分享创造

`真` 零配置运行 ES6/TS/React/Vue/ 代码 - Falco

  •  
  •   coraline · 2019-05-26 18:17:18 +08:00 · 2635 次点击
    这是一个创建于 2016 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Falco 是基于 webpack,npm 的一层封装。解决的问题是 demo 代码的构建打包问题,而直接运行代码是附加的一个功能。

    一个 GIF 运行例子: https://user-images.githubusercontent.com/2193211/55216793-afa54180-5238-11e9-9cda-f1c702dcd97b.gif

    项目地址: https://github.com/fratercula/falco/

    有以下的特点及说明

    • 零配置,不需要写 babel 之类的配置文件
    • 通过分析代码,自动安装 js 依赖
    • 运行过程中添加的 js 依赖也会自动安装
    • 全部构建所需依赖都会安装在系统临时目录,本地项目路径文件非常简洁
    • 支持 cli 使用,以及 node 方式使用
    • 支持高级配置,定制一些构建情况

    使用方式很简单,在代码目录直接运行 falco -d 即可

    更多详细说明: https://github.com/fratercula/falco/blob/master/README.md

    12 条回复    2019-05-31 15:54:39 +08:00
    yuuko
        1
    yuuko  
       2019-05-26 19:15:02 +08:00
    支持下
    azh7138m
        2
    azh7138m  
       2019-05-26 19:40:23 +08:00 via Android
    https://parceljs.org/ 比,有什么优点吗?
    coraline
        3
    coraline  
    OP
       2019-05-27 11:15:01 +08:00
    @azh7138m 这两个是不好比较的,这里有更详细的说明: https://mirror.am0200.com/#/posts/18
    azh7138m
        4
    azh7138m  
       2019-05-27 22:12:42 +08:00 via Android
    autoinstall 都有。
    那可以举个例子吗?什么场景下,会比 parcel 更好用。
    justin2018
        5
    justin2018  
       2019-05-27 22:44:39 +08:00
    nice 已使用~~
    coraline
        6
    coraline  
    OP
       2019-05-28 10:32:51 +08:00
    @azh7138m 我以前也用过 parcel,但仍然要配置一堆 babel 之类的配置

    不过我今天重试了,发现现在强大好多了

    但 cli 方式运行一个简单的例子(完全没有任何配置),直接错误

    Server running at http://localhost:1234
    🚨 /Users/aksdj4/Downloads/temp/main.js:7:8: Support for the experimental syntax 'classProperties' isn't currently enabled (7:9):
    5 |
    6 | export default class extends Component {
    > 7 | state = {
    | ^
    8 | data,
    9 | }
    10 |

    但 falco 是直接运行,没有任何问题

    大体上就是 webpack 跟 parcel 的对比了,还有就是不会在你的开发目录安装任何依赖,需要的依赖都放在系统临时目录
    azh7138m
        7
    azh7138m  
       2019-05-28 11:34:51 +08:00
    @coraline 其实就是一个语法探测和然后帮你装插件吧,理论上可以做,babel 提供的信息挺多的,但是是个文本的.....
    不知道 babel 会不会愿意返回一个结构化数据

    但你这个是相当于内置一份默认 babelrc,应该对标 https://neutrinojs.org/

    > 需要的依赖都放在系统临时目录
    这个看包管理的行为了,你要这么操作,等 pnp 上了要怎么处理呢?
    coraline
        8
    coraline  
    OP
       2019-05-28 14:07:51 +08:00
    @azh7138m 事实上做这个工具的出发点就是快速构建业务 demo 代码,需要各方面自己控制。直接运行代码只是开发过程中发现可以带上的
    crs0910
        9
    crs0910  
       2019-05-28 19:44:49 +08:00
    coraline
        10
    coraline  
    OP
       2019-05-28 20:05:57 +08:00
    @crs0910 这个没有 auto install packages 功能
    deathscythe
        11
    deathscythe  
       2019-05-29 13:26:06 +08:00
    前端学不动了...
    blanu
        12
    blanu  
       2019-05-31 15:54:39 +08:00
    任何框架的框架都解决不了抽象泄漏的问题,所以正经项目还是自己搞吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2625 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:28 · PVG 08:28 · LAX 16:28 · JFK 19:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.