SystemJS:为什么会出现错误导入jquery时jquery_1.default不是函数

前端之家收集整理的这篇文章主要介绍了SystemJS:为什么会出现错误导入jquery时jquery_1.default不是函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经通过jspm安装基础安装了基础,然后导入基础
和jquery.

我遇到的问题是,如果我通过import $导入jquery作为’jquery’我得到错误jquery_1.default不是一个函数.如果我通过import *从jquery导入jquery作为$,它按预期工作

我叫$(document).foundation();初始化基础javascript组件.以下是我的主要内容

import 'foundation'
import $from  'jquery';
import {Aurelia} from 'aurelia-framework';

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

  aurelia.start().then(a => a.setRoot())
      .then(a => {
        // Initialize framework
        $(document).foundation();
      });
}

其余代码只是默认导航到包含带有下拉列表的基础导航栏的简单页面

注意:即使将jquery列为dep,我也必须显式安装jquery.

我为基础6做了原始覆盖,显然做错了但当时似乎正在工作.但是,我已经发现当安装bootstrap时它将jquery放在github:components中,这似乎使得jquery不必显式安装.所以当时一切似乎都很好.

要重现只是使用aurelia骨架并添加一个带有基础控件的页面,添加上面的$(document).foundation()

解决方法

如果您在tsconfig中使用typescript set module = system:
{
  "compilerOptions": {
    "module": "system","target": "es6","sourceMap": true,"experimentalDecorators": true,"emitDecoratorMetadata": true
  },"exclude": [
    "node_modules","jspm_packages"
  ]
}

猜你在找的jQuery相关文章