将 Node 模块导入 Angular 2

Kev*_*lla 5 node-modules systemjs angular

我正在尝试将节点模块导入 Angular 2 但无济于事。

如何才能实现这一目标?

我正在尝试将以下模块导入 Angular 2: https://www.npmjs.com/package/countryjs

我是否需要使用 system.js 将其注册到当前应用程序中:

<!-- 2. Configure SystemJS -->
    <script>
      System.config({
        packages: {
          app: {
            format: 'register',
            defaultExtension: 'js'
          },
          map: {
              'countryjs': 'node_modules/countryjs/lib/countryjs'
          },
          meta: {
              // sets meta for modules within the package
              'vendor/*': {
                  'format': 'global'
              }
          }
        }
      });
      System.import('app/boot')
            .then(null, console.error.bind(console));


    </script>
Run Code Online (Sandbox Code Playgroud)

然后在 ts 文件中,我使用:

import {} from "countryjs"
Run Code Online (Sandbox Code Playgroud)

当我使用这个(如下)时,它给了我一个错误

import {Country} from "countryjs"
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

Kev*_*lla 3

首先很抱歉这么久没有发帖。

我终于找到了解决这个问题的办法。请找到修改后的system.js脚本:

System.config({
                defaultJSExtensions: true,
                packages: {
                    'app': { format: 'register', "defaultExtension": 'js' }
                },
                map: {
                    'angular2': 'node_modules/angular2',
                    'primeng': 'node_modules/primeng',
                    'rxjs': 'node_modules/rxjs',
                    'ng2-uploader': 'node_modules/ng2-uploader/ng2-uploader',
                    'countryjs': 'node_modules/countryjs'
                }
            });
Run Code Online (Sandbox Code Playgroud)