首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新处理- VSCode Reason Refmt破坏项目

重新处理- VSCode Reason Refmt破坏项目
EN

Stack Overflow用户
提问于 2018-05-26 18:47:58
回答 1查看 179关注 0票数 1

我正在一个小型reprocessing测试中寻找一个有趣的小bug:reprocessing01

项目构建得很好,直到我做了更改并通过vscode触发了refmt,然后项目将不再编译。

下面是在进行任何更改之前为我编译和运行的代码。

代码语言:javascript
复制
open Reprocessing;

type stateT = {
  image: imageT,
};

let setup = (env) => {
  Env.size(~width=800, ~height=600, env);
  let image = Draw.loadImage(
    ~filename="assets/Wave_pattern_by_inkelv1122_on_flickr_800w.jpg", 
    ~isPixel=false, env);
  {
    image: image
  }
};

let draw = ({image} as state, env) => {
  Draw.background(Constants.white, env);
  Draw.image(
    image,
    ~pos=(0,0),
    ~width=Env.width(env),
    ~height=Env.height(env),
    env
  );
  state
};

run(~setup, ~draw, ());

如果我在vscode中打开项目,进行一些更改,例如在顶部添加let myvar = 42;,然后保存以触发refmt,这将引入以下错误:

代码语言:javascript
复制
/Users/myer/dev/react/reasonml-playground/reprocessing01/node_modules/bs-platform/lib/bsc.exe -pp "/Users/myer/dev/react/reasonml-playground/reprocessing01/node_modules/bs-platform/lib/refmt3.exe --print binary"    -bs-super-errors -w -30-40+6+7+27+32..39+44+45+101 -bs-D BSB_BACKEND="bytecode" -nostdlib -I '/Users/myer/dev/react/reasonml-playground/reprocessing01/node_modules/bs-platform/lib/ocaml' -no-alias-deps -color always -c -o src/index.mlast -bs-syntax-only -bs-simple-binary-ast -bs-binary-ast -impl /Users/myer/dev/react/reasonml-playground/reprocessing01/src/index.re
File "/Users/myer/dev/react/reasonml-playground/reprocessing01/src/index.re", line 12, characters 4-5:
Error: 2817: <UNKNOWN SYNTAX ERROR>

有问题的这一行是这个代码块的最后一行:

代码语言:javascript
复制
Draw.loadImage(
  ~filename="assets/Wave_pattern_by_inkelv1122_on_flickr_800w.jpg",
  ~isPixel=false,
  env,
);

在此之后,唯一的解决方法是将代码恢复到refmt引入更改之前的状态。

我怀疑我的refmt版本与bsb-native#2.1.1要求的版本不同步,但我不确定要安装哪个版本。我有:

代码语言:javascript
复制
$ refmt --version
Reason 3.0.0 @ bee43b0

是否有一个表格显示了reason-clibs-platform之间的兼容版本?

是否有其他方法可以调查此问题或此行为的其他潜在根本原因?

更新:我能够将bsb-native升级到主分支,并且在构建到本机分支时可以正常工作,直到我在reprocessing02中添加了更多代码

EN

回答 1

Stack Overflow用户

发布于 2018-06-23 06:02:58

这个问题是因为bsb-native@2.1.1附带了一个旧版本的refmt (版本3之前),它不能读取全局refmt输出的代码(很可能是因为结尾的逗号)。我正在做一个在所有平台上的新版本3.2.0,它带有最新的refmt。如果你使用的是OSX,你可以尝试一下,只需将你的dep改为bsansouci/bsb-native#3.2.0,启动node_modules并重新安装即可。很抱歉给您带来不便。我计划把我的发布周期和bsb的发布周期结合起来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50541943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档