Как использовать вывод Fable для других проектов JS
У меня есть небольшой код файла FS
module FableApp
open Fable.Import.Browser
let sum x y=
x+y
let myfunct=
let result=sum 5 10
console.log(result)
Я пытаюсь скомпилировать его в JS и использовать в других проектах. Я видел, что это возможно через Fable Repl, но я хочу сделать это прагматично. Как мне нужно скомпилировать FsProjects в будущем.
Когда я попытался скомпилировать это с помощью веб-пакета, я получил этот код
(window.webpackJsonp= window.webpackJsonp|| []).push([
[0],
[function(n, o, t) {
"use strict";
function c(n, o) {
return n + o | 0
}
t.r(o), t.d(o, "Sum", function() {
return c
}), t.d(o, "myfunct", function() {
return r
});
var r = function() {
var n = 0 | c(5, 10);
console.log(n)
}()
}]
]);
1 ответ
В соответствии с вашими требованиями, я думаю, что пакет fable-splitter npm будет именно тем, что вы ищете.
Как описано в документации, вы должны добавить строку в scripts
блок вашего package.json
файл, в котором вы говорите исполнителю сценариев, чтобы он собрал ваш проект и поместил разделенные файлы в выходную папку.
"scripts": {
"build": "fable-splitter src/MyProject.fsproj --outDir out"
}
Существуют более тонкие параметры конфигурации, и я предлагаю вам ознакомиться с документацией, чтобы ознакомиться с API на тот случай, если он вам понадобится. Если вы хотите использовать конфигурацию в вашей сборке, вы должны изменить блок скрипта, включив в него параметр конфигурации, указывающий на файл конфигурации.
"scripts": {
"build": "fable-splitter --config splitter.config.js"
}