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插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...