Компиляция исходных файлов Reason в тот же каталог, что и исходные файлы

Я пишу приложение узла, в котором я хотел бы смешать Reason и необработанный JavaScript.

В этом разделе документации по Bucklescript описывается

Когда у пользователя есть существующий проект JS, имеет смысл вывести файл JS в том же каталоге, что и vanilla JS, схема добавила ключ с именем in-source, чтобы генерировать файл JS рядом с файлом ML.

Я предполагаю, что это в bsconfig.json файле? Но какое значение должен иметь ключ? В документации схемы этот параметр не упоминается.

Я использую 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"
  ]
}

person Pete    schedule 15.10.2017    source источник


Ответы (1)


Он должен быть в разделе "package-specs":

{
  ...
  "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"
  ]
}
person glennsl    schedule 15.10.2017
comment
Я обязательно отправлю исправление в документации для этого. - person glennsl; 15.10.2017
comment
Отлично, мне пришлось добавить "module": "commonjs" в объект спецификации пакета, чтобы он скомпилировался, но теперь все в порядке. Вы уже обновили документ схемы? Потому что теперь я могу его найти, но вам нужно щелкнуть, чтобы перейти к параметру, чтобы увидеть его. - person Pete; 15.10.2017
comment
Он всегда был там, просто очень хорошо прятался;) Я не обновлял схему, только руководство. Я тоже добавлю модуль. Думал, что это необязательно, но, видимо, нет. - person glennsl; 15.10.2017