JSPM / Aurelia / Bootstrap 4 找不到 jQuery

JSPM / Aurelia / Bootstrap 4 can't find jQuery

所以我有一个使用 jspm 的 aurelia 设置。我已经像这样安装 Bootstrap 4:

jspm install npm:bootstrap@4.0.0-alpha.2

然后在 main.js 我做了:

import 'jquery';
import 'bootstrap';

export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging();

  //Uncomment the line below to enable animation.
  //aurelia.use.plugin('aurelia-animator-css');
  //if the css animator is enabled, add swap-order="after" to all router-view elements

  //Anyone wanting to use HTMLImports to load views, will need to install the following plugin.
  //aurelia.use.plugin('aurelia-html-import-template-loader')

  aurelia.start().then(() => aurelia.setRoot());
}

我什至试过 import $ from 'jquery' 但是当我用 BS4 旋转 aurelia 骨架时我得到:

Uncaught Error: Bootstrap's JavaScript requires jQuery

我可以转到控制台并执行 $ 和 returns jquery 操作。我认为这是一个竞争条件,但不确定如何解决?

编辑:System.config

System.config({
  defaultJSExtensions: true,
  transpiler: "none",
  paths: {
    "*": "dist/*",
    "github:*": "jspm_packages/github/*",
    "npm:*": "jspm_packages/npm/*"
  },
  meta: {
    "bootstrap": {
      "deps": [
        "jquery"
      ]
    }
  },
  map: {

我 运行 最近也关注这个问题。尝试安装 jquery 2,而不是 jquery 3。显然,当 jquery 3 作为模块导入时,它不会像在 [=] 中一样挂起 window 13=] 2. Bootstrap 4 显然也没有将其作为依赖项请求。

使用jspm install bootstrap=github:twbs/bootstrap@4.0.0-alpha.2

npm: (see here) 使用 jspm 安装 bootstrap 时出现问题。

参见 this file for how to import it (from this project)。

更新:here is the Pull Request that should fix this.

一个可能的解决方案是从 index.html 的 HEAD 部分的 CDN 加载 jQuery:

<script   src="https://code.jquery.com/jquery-3.0.0.min.js"   integrity="sha256-JmvOoLtYsmqlsWxa7mDSLMwa6dZ9rrIdtrrVYRnDRH0="   crossorigin="anonymous"></script>

取自https://code.jquery.com。如果需要,请使用不同版本的 jQuery。恕我直言,这实际上是一个更好的部署策略,因为通过从 CDN 加载库,您将在浏览器中获得更多并发下载(更好的并行性)。