在Angular2 CLI中使用外部javascript AMD模块

net*_*tik 7 javascript angular

当我使用Angular2预发行版时,我不得不systemjs使用外部javascript库,即ESRI ArcGIS JavaScript API,它基于AMD模块(虽然可以输入).

现在我想迁移到Angular2 CLI.但是,在Angular2移动systemjswebpack没有webpack.config要修改的文件之后,我无法看到如何导入像arcgis这样的外部库.

外部库存储在:

<script src="https://js.arcgis.com/3.19/"></script>

示例:在我的角度组件中,我不知何故需要能够导入这些:

import map from 'esri/map';
Run Code Online (Sandbox Code Playgroud)

导入' https://js.arcgis.com/3.19/esri/map.js '

知道如何实现这一目标吗?

编辑:如果我将链接添加到map.js angular-cli.json

"scripts": [
          "../node_modules/jquery/dist/jquery.js",
           ....
          "https://js.arcgis.com/3.19/esri/map.js"
      ],
Run Code Online (Sandbox Code Playgroud)

并将其导入为 import {map} from 'esri/map';

我得到了一个 webpackMissingModule: C:\Users\xy\project\src\https:\js.arcgis.com\3.19\esri\map.j??s

ans*_*ile 1

包含外部库的示例angular-cli.json对于转储数据感到抱歉,但这是一个提示,您可以看到我在 angular-cli.json 中添加了脚本和css以及styles数组scriptsaddons

{
  "project": {
    "version": "1.0.0-beta.19-3",
    "name": "adm"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.json",
      "prefix": "app",
      "mobile": false,
      "styles": [
        "assets/lib/bootstrap/css/bootstrap.css",
        "../node_modules/font-awesome/css/font-awesome.css",
        "assets/lib/metismenu/metisMenu.css",
        "assets/lib/animate.css/animate.css",
        "assets/css/customradiocss.css",
        "rainbow/blackboard.css"
      ],
      "scripts": [
          "assets/lib/jquery/jquery.js",
          "assets/lib/bootstrap/js/bootstrap.js",
          "assets/lib/metismenu/metisMenu.js",
          "assets/lib/screenfull/screenfull.js",
          "assets/js/core.js",
          "assets/js/app.js",
          "assets/js/easyResponsiveTabs.js",
          "rainbow/rainbow-custom.min.js"
      ],
      "environments": {
        "source": "environments/environment.ts",
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],
  "addons": ["../node_modules/font-awesome/fonts/*.+(otf|eot|svg|ttf|woff|woff2)"],
  "packages": [],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "css",
    "prefixInterfaces": false,
    "inline": {
      "style": false,
      "template": false
    },
    "spec": {
      "class": false,
      "component": true,
      "directive": true,
      "module": false,
      "pipe": true,
      "service": true
    }
  }
}
Run Code Online (Sandbox Code Playgroud)