将 Node 模块导入 Angular 2

Posted

技术标签:

【中文标题】将 Node 模块导入 Angular 2【英文标题】:Importing Node modules into Angular 2 【发布时间】:2016-06-28 11:19:04 【问题描述】:

我正在尝试将节点模块导入 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>

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

import  from "countryjs"

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

import Country from "countryjs"

我错过了什么吗?

【问题讨论】:

你遇到了什么错误? Uncaught SyntaxError: Unexpected token 一个问题,我应该浏览库吗? 将尽快创建一个 plunker 问题解决了吗?请发布解决方案。我也有类似的问题。 【参考方案1】:

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

我终于找到了解决方案。请找到修改后的 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'
                
            );

【讨论】:

以上是关于将 Node 模块导入 Angular 2的主要内容,如果未能解决你的问题,请参考以下文章

如何将 angular.js 模块导入 Angular 应用程序?

Angular 2.0.0 - 测试“由模块'DynamicTestModule'导入”

如何将 node.js 模块导入 node.js 模块

Angular 8 - ng build prod 在 ng serve 工作时显示错误 - 模块导入的意外值“未定义”

从另一个模块导入的 Angular 组件不呈现

Angular - 模块 AppModule 导入的意外值 MatDialog