将原因源文件编译到与源文件相同的目录中

问题描述:

我正在编写一个节点应用程序,在那里我想混合原因和原始JavaScript。将原因源文件编译到与源文件相同的目录中

的bucklescript文档中This section描述它

当用户有一个现有的JS项目,是有意义的输出JS 文件在同一目录香草JS,架构添加了一个关键 称为in-source以便在ML文件旁边生成JS文件。

我认为这是在bsconfig.json文件中?但是关键要有什么价值? The schema documentation没有提到这个选项。

我正在运行Bucklescript版本1.9.1 - 所以功能应该可用(自1.9.0起可用)。

如何使用in-source选项?

bsconfig.json文件看起来像这样:

{ 
    "name": "re-server", 
    "version": "0.1.0", 
    "bsc-flags": ["-bs-super-errors"], 
    "in-source": true, // I tried adding the key here 
    "sources": [{ 
    "dir": "src", 
    "in-source": true // I tried adding the key here 
    } 
    ], 
    "bs-dependencies" : [ 
    "bs-express" 
    ] 
} 

它应该是 “包规范” 部分中:

{ 
    ... 
    "package-specs" : [{ 
    "module": ..., 
    "in-source": true 
    }] 
} 

所以你bsconfig.json应该是这样的:

{ 
    "name": "re-server", 
    "version": "0.1.0", 
    "bsc-flags": ["-bs-super-errors"], 
    "package-specs" : [{ 
    "module": "commonjs", 
    "in-source": true 
    }], 
    "sources": [{ 
    "dir": "src" 
    } 
    ], 
    "bs-dependencies" : [ 
    "bs-express" 
    ] 
} 
+0

我也会确保为此提交文档修复。 – glennsl

+0

太棒了,我不得不在package spec对象中添加一个'“模块”:“commonjs”,以便编译,但现在没问题。你是否已经更新了schema-doc?因为现在我可以找到它 - 但您必须单击以深入查看选项。 – Pete

+0

它总是在那里,藏得很好;)我没有更新架构,只是手册。我也会添加“模块”。认为这是可选的,但显然不是。 – glennsl