【问题标题】:Link to global node modules folder from Angular2 app从 Angular2 应用程序链接到全局节点模块文件夹
【发布时间】:2016-10-02 00:04:05
【问题描述】:

我希望有一个集中的节点模块文件夹(使用 npm update -g 保存到 C 盘)而不是包含在应用程序中的通常本地文件夹,因为 Angular2 CLI 在本地安装了 125mb+ 价值的节点模块文件夹。

所以在打字稿文件中,我们之前像这样导入了角核心:

import { Component } from '@angular/core'; 

但显然这不起作用,是否可以在某处放置前缀或硬 URL 以告诉应用在全局文件夹中搜索模块?

【问题讨论】:

    标签: node.js typescript npm angular


    【解决方案1】:

    修改SystemJs 配置(通常是systemjs.config.js 文件),以便将@angular 映射到您集中的node_modules\@angular 文件夹,而不是本地文件夹。

    var  map = {
      'app' : 'app',
      '@angular' : 'C:/node_modules/@angular', // path to centralized repo
    };
    

    【讨论】:

      【解决方案2】:

      这是你的 systemjs.config 文件应该是什么:

       (function(global) {
      
          // map tells the System loader where to look for things    
          var map = {
              'app':                        'src',         
              '@angular':                   'global location'
          };
      
          // packages tells the System loader how to load when no filename and/or no extension
          var packages = {
              'app':                        { main: 'main.js',  defaultExtension: 'js' },
              'rxjs':                       { defaultExtension: 'js' },
      
          //can add as per your requirement
          };
      
          var packageNames = [
              '@angular/common',
              '@angular/compiler',
              '@angular/core',
              '@angular/http',
              '@angular/platform-browser',
              '@angular/platform-browser-dynamic',
              '@angular/router',
              '@angular/router-deprecated',
              '@angular/testing',
              '@angular/upgrade',
          ];
      
          // add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' }
          packageNames.forEach(function(pkgName) {
              packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
          });
      
      
      })(this);
      

      【讨论】:

        猜你喜欢
        • 2019-03-06
        • 2020-03-10
        • 2017-07-15
        • 2016-12-20
        • 2017-03-26
        • 2016-02-22
        • 1970-01-01
        • 2019-04-14
        • 2013-04-10
        相关资源
        最近更新 更多