如何在 ClosureScript 中使用导入具有相对路径的模块的 ES6 模块?

How to use ES6 modules that import modules with relative paths in ClosureScript?

我正在尝试在 ClojureScript 应用程序中使用 Twitter 的 Bootstrap 4(测试版)。由于 CLJS-2369. So my next attempt is to use the :foreign-libs compiler option (see github.com/au-phiware/cljsbuild-bootstrap4):

,使用 :npm-deps 编译器选项不起作用
:foreign-libs [{:file "node_modules/bootstrap/js/src/util.js"
                :provides ["bootstrap.util"]
                :module-type :es6}
               {:file "node_modules/bootstrap/js/src/alert.js"
                :provides ["bootstrap.alert"]
                :requires ["bootstrap.util"]
                :module-type :es6}]})

在代码中,我要求模块为:

(ns cljsbuild-bootstrap4.core
  (:require [bootstrap.alert :as alert]))

但是我遇到了这个错误:

events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Can't resolve './util' in '~/cljsbuild-bootstrap4'
    at onError (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/Resolver.js:61:15)
    at loggingCallbackWrapper (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
    at runAfter (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/Resolver.js:158:4)
    at innerCallback (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/Resolver.js:146:3)
    at loggingCallbackWrapper (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
    at next (~/cljsbuild-bootstrap4/node_modules/tapable/lib/Tapable.js:252:11)
    at innerCallback (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/Resolver.js:144:11)
    at loggingCallbackWrapper (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/createInnerCallback.js:31:19)
    at next (~/cljsbuild-bootstrap4/node_modules/tapable/lib/Tapable.js:249:35)
    at resolver.doResolve.createInnerCallback (~/cljsbuild-bootstrap4/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:44:6)

注意:我也尝试了以下 :foreign-libs 选项但收到了相同的结果:

:foreign-libs [{:file "node_modules/bootstrap/js/src"
                :module-type :es6}]})

这是 1.9.946 的问题。 1.10.238 不再重现。

已检查自 CLJS-2369