javascriptjquerytypescriptsystemjsjspm

jspm / jQuery / TypeScript - module "jquery" has no default export


I'm trying to bootstrap a web app using TypeScript and jspm & system.js for module loading. I'm not getting very far. After installing jspm, and using it to install jQuery:

jspm install jquery

And the basics:

<script src="jspm_packages/system.js"></script>
<script src="config.js"></script>
<script>
        System.import('main');
</script>

main.ts:

import $ from "jquery";

export class Application  {
    constructor() {
        console.log($);
    }
}

The TypeScript won't compile because "Module 'jquery' has no default export.

The generated config.js has the correct mapping: "jquery": "npm:jquery@2.2.0"


Solution

  • When the module doesn't have a default export, you can import the complete module as object: import * as $ from "jquery";

    or import named exports: import { ajax, css } from "jquery";