角2 - 添加第三方库 [英] angular 2 - adding 3rd party libs

查看:278
本文介绍了角2 - 添加第三方库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想开始使用角2 CLI。结果
我想在我的项目所以这里使用momentjs是我做了什么:结果
1.使用CLI创建的项目。结果
2.运行 NPM安装--save魔门 T结果
3.从src文件夹运行分型的init + 分型安装--save时刻。结果
4.添加momoent系统模块:

  System.config({
  包:{
    应用:{
      格式为:注册,
      defaultExtension:'JS'
    },
    时刻:{
      图:node_modules /力矩/ moment.js',
      类型:'CJS',
      defaultExtension:'JS'
    }
  }
});


  • 添加进口*从时刻的时刻。我想要的组件

  • 运行纳克服务和获取:

    [DiffingTSCompiler]:打字稿发现了以下错误:
      应用程序/角天picker.ts(2,25):找不到模块'时刻'。
    错误:[DiffingTSCompiler]:打字稿发现了以下错误:
      应用程序/角天picker.ts(2,25):找不到模块'时刻'。
        在DiffingTSCompiler.doFullBuild (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:202:29)
        在DiffingTSCompiler.rebuild (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:101:18)
        在DiffingPluginWrapper.rebuild (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/lib/broccoli/diffing-broccoli-plugin.js:87:45)
        在/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/broccoli/lib/api_compat.js:42:21
        在LIB $ RSVP $$内部$$ tryCatch (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1036:16)
        在LIB $ RSVP $$内部$$ invokeCallback (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1048:17)
        在/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:331:11
        在LIB $ RSVP $ $$尽快冲洗(/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1198:9)
        在doNTCallback0(node.js的:430:9)
        在process._tickCallback(node.js的:359:13)


  • 下面是我的tsconfig.json文件:

      {
      compilerOptions:{
        宣言:假的,
        emitDecoratorMetadata:真实,
        experimentalDecorators:真实,
        MAPROOT:,
        模块:系统
        moduleResolution:节点,
        noEmitOnError:真实,
        noImplicitAny:假的,
        ROOTDIR:,。
        sourceMap:真实,
        sourceRoot:/,
        目标:ES5
      },
      文件:
        分型/ main.d.ts
      ]
      排除:[
        分型/ browser.d.ts
        分型/浏览器
      ]
    }

    我做了什么错?我不能在这个文档中提供了一个指南添加第三方库。


    解决方案

    答案可以在下面的链接中找到:的 https://github.com/angular/angular-cli/issues/274#issuecomment-192490084

    I am trying to start using angular 2 cli.
    I want to use momentjs in my project so here is what I have done:
    1. created project using cli.
    2. run npm install --save moment
    3. from src folder run typings init + typings install --save moment.
    4. added momoent to system modules:

    System.config({
      packages: {
        app: {
          format: 'register',
          defaultExtension: 'js'
        },
        moment: {
          map: 'node_modules/moment/moment.js',
          type: 'cjs',
          defaultExtension: 'js'
        }
      }
    });
    

    1. added import * as moment from 'moment'; to my desired component.
    2. running ng serve and getting:

      [DiffingTSCompiler]: Typescript found the following errors: app/angular-day-picker.ts (2, 25): Cannot find module 'moment'. Error: [DiffingTSCompiler]: Typescript found the following errors: app/angular-day-picker.ts (2, 25): Cannot find module 'moment'. at DiffingTSCompiler.doFullBuild (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:202:29) at DiffingTSCompiler.rebuild (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/lib/broccoli/broccoli-typescript.js:101:18) at DiffingPluginWrapper.rebuild (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/lib/broccoli/diffing-broccoli-plugin.js:87:45) at /Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/broccoli/lib/api_compat.js:42:21 at lib$rsvp$$internal$$tryCatch (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1036:16) at lib$rsvp$$internal$$invokeCallback (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1048:17) at /Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:331:11 at lib$rsvp$asap$$flush (/Users/vioffe/personal/angular-day-picker/node_modules/angular-cli/node_modules/angular-cli/node_modules/rsvp/dist/rsvp.js:1198:9) at doNTCallback0 (node.js:430:9) at process._tickCallback (node.js:359:13)

    Here is my tsconfig.json file:

    {
      "compilerOptions": {
        "declaration": false,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "mapRoot": "",
        "module": "system",
        "moduleResolution": "node",
        "noEmitOnError": true,
        "noImplicitAny": false,
        "rootDir": ".",
        "sourceMap": true,
        "sourceRoot": "/",
        "target": "es5"
      },
      "files": [
        "typings/main.d.ts"
      ],
      "exclude": [
        "typings/browser.d.ts",
        "typings/browser"
      ]
    }
    

    What did I do wrong? I can't find in the docs a guide to add 3rd party libs.

    解决方案

    The answer can be found in the following link: https://github.com/angular/angular-cli/issues/274#issuecomment-192490084

    这篇关于角2 - 添加第三方库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆