библиотека не распознается в reactjs

щелкните здесь, чтобы увидеть папку pondjs внутри узловых модулейЯ установил pondjs(https://www.npmjs.com/package/pondjs), используя npm install pondjs --сохранить в мое реагирующее приложение. Он также присутствует в package.json. Я не мог понять, почему в App. js, когда я делаю:

import { TimeSeries , TimeRange} from 'pondjs';

он говорит, что модуль не установлен и, следовательно, не может распознать его функции.

Кроме того, у меня есть файл js, который содержит много данных в форме объекта, и я пытаюсь импортировать этот файл в App.js, используя:

import pathtofile/inputdata.js';

и сохранение в переменной, как показано ниже:

var input_data = data;

ПРАВИЛЬНО ли это сделать в файле реакции App.js? Пожалуйста, предложите


person Ashag    schedule 05.07.2017    source источник


Ответы (3)


Поскольку есть 2 части вашего вопроса. Я отвечу на них по порядку.

Ваш первый вопрос заключался в том, что вы не смогли вызвать методы pondjs, несмотря на то, что установили его.

Для этого убедитесь, что ваша папка pondjs находится внутри папки node_modules, которая будет создана при установке некоторых пакетов в вашем репозитории.

ИЗМЕНИТЬ:

У вас проблемы только с pondjs или со всеми пакетами?

Если вы можете найти установленный пакет в папке node_modules и столкнулись с одной и той же проблемой для всех пакетов, обновите npm. Ваша проблема в том, что он не ищет в нужной папке. Попробуйте обновить npm, чтобы файлы размещались в правильных местах.

Если это только для pondjs, проблема может быть связана с пакетом, а не с вашим пакетом npm. Убедитесь, что вы правильно читаете документацию и делаете все правильно.


Переходя к вашей второй проблеме.

Экспортируйте переменную, к которой вы хотите получить доступ, в другой файл.

var obj = {
    a : [1, 2, 3, 4],
    b : { c : 'Hello World!' }
}

export var obj;

И назовите это так,

import { obj } from './path/to/the/file.js'

person bharadhwaj    schedule 05.07.2017
comment
Я добавил изображение, которое показывает, что pondjs присутствует внутри узловых модулей. - person Ashag; 05.07.2017
comment
в моем файле app.js я могу сделать что-то подобное? var k = obj.a; - person Ashag; 05.07.2017
comment
Да, ты можешь. как только вы импортируете его в другой файл, он будет таким же, как переменная, которую вы объявили в этом файле. - person bharadhwaj; 05.07.2017
comment
какие-нибудь советы по поводу pondjs? - person Ashag; 05.07.2017
comment
var obj = { a : [1, 2, 3, 4], b : { c : 'Привет, мир!' } } экспорт var obj; если я делаю что-то подобное, поэтому, когда вы наводите курсор на var obj, он говорит о дублирующем объявлении. Это потому, что при экспорте вы снова указываете var, поэтому создаете новую переменную. - person Ashag; 05.07.2017
comment
Я полагаю, что проблема с вашим редактором кода. Надеюсь, вы используете ES6 для кодирования. Если у вас возникли проблемы с экспортом, вот хорошая ссылка на него stackoverflow.com/a/34842087/3978238 - person bharadhwaj; 06.07.2017
comment
@Ashag Что касается pondjs, можете ли вы указать, какое на самом деле сообщение об ошибке? Можете добавить в вопрос? - person bharadhwaj; 06.07.2017

Для pondjs мой код работает с Sumblime Text и Terminal. Возможно, Webstorm IDE не распознает Pondjs или что-то в этом роде.

person Ashag    schedule 06.07.2017

Используйте require вместо import.

const { TimeSeries, TimeRange } = require('pondjs');

person MChiocca    schedule 08.05.2018