Как использовать вывод 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"
}
Другие вопросы по тегам