2016-02-01 3 views
1

У меня была проблема с импортом LODASH в приложение Angular2, получен ответ on this post here и все работающие сейчас.angular2 с помощью модуля twitter от npm

Следующая проблема У меня есть то, что я не знаю, как сделать модуль «twitter» npm для работы в приложении.

Теперь я установил «NPM установить твиттер» и пытался импортировать его:

import * as Twitter from 'twitter'; 

, но я получаю «не может найти модуль„твиттер“Я пытался добавить к system.config без удачи

..

Что я делаю неправильно здесь Как должен выглядеть код для импорта и использования этого модуля твиттер

Вот system.config в index.html:?

System.config({ 
    packages: { 
     app: { 
     format: 'register', 
     defaultExtension: 'js' 
     } 
    }, 
    map: { 
     lodash: 'node_modules/lodash/lodash.js', 
     twitter: 'node_modules/twitter/index.js' 
    }, 
    meta: { 
     lodash: { format: 'amd' }, 
     twitter: { format: 'amd' } 
    } 
    }); 
+0

выглядит как вопрос с вашей systemjs конфигурации, его лучше разместить его, а также в вопросе –

+1

НПМ модуля вы пытаетесь импортировать ('НОЙ установки twitter') является API-интерфейсом на стороне клиента, который предназначен для использования в NodeJS. – Bryan

+0

'import Twitter from './twitter/index';' не будет работать? – Zorgatone

ответ

1

Я считаю, что вы должны добавить файл определения модуля twitter в папку с образцами. Или установите его с помощью tsd. После этого вы можете использовать его в коде машинопись с помощью ссылки:

загрузить вручную

  1. Скачать файл определения из here
  2. Добавьте его в папку типизации в корневом каталоге источника

или

установить с помощью tsd

  1. Открыть CMD в исходной папке
  2. npm install tsd -g
  3. tsd install twitter --save

После этого добавьте ссылку в верхней части машинопись файла

/// <reference path="../typings/twitter.d.ts"/> 
0

Модуль твиттер является commonjs, поэтому он не будет работать с amd. Попробуйте следующие конфигурации, чтобы увидеть, если он работает:

System.config({ 
    packages: { 
    app: { 
    format: 'register', 
    defaultExtension: 'js' 
    } 
}, 
map: { 
    lodash: 'node_modules/lodash/lodash.js', 
    twitter: 'node_modules/twitter' 
}, 
meta: { 
    lodash: { format: 'commonjs' }, 
    twitter: { format: 'commonjs' } 
} 
}); 

попробовать импорт, как это:

import * as Twitter from 'twitter/index'; 

ли работа? Я не думаю, что lodash также является модулем amd, а также commonjs. Вероятно, вы можете удалить полный мета-раздел, systemJs будет автоматически определять тип модульной системы в большинстве случаев.

0

Я не думаю, что вы могли бы использовать этот модуль в таком сценарии, как его серверный модуль и нуждающийся в работе узла. Мне удалось реализовать аутентификацию twitter с помощью другого модуля: https://github.com/jublonet/codebird-js

Я работал некоторое время на простом проекте, реализующем социальные сети.Если вы хотите, вы посмотрите на можете: https://github.com/bkulov/EventOrgApp

Смежные вопросы