2015-06-07 2 views
0

Я хотел бы использовать модуль node.js от https://github.com/asbjornenge/react-datalist, используя браузер.Не удается найти подмодуль, импортированный внутри модуля, установленного с npm

Я установил модуль локально в свой рабочий каталог. В этом каталоге я создал файл JavaScript, main.jsx

var React = require('react'); 
var ReactDatalist = require('react-datalist'); 

var options = ['apple','orange','pear','pineapple','melon']; 
React.render(<ReactDatalist list="fruit" options={options} />, document.body); 

Тогда я reactify так:

browserify -t reactify main.jsx > main.js 

До сих пор так хорошо, но проблема в том, когда я хочу browserify:

browserify main.js > bundle.js 

я получил ошибку:

Error: Cannot find module './components/DataList' from '...my working directory...' 
at /usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:55:21 
at load (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:69:43) 
at onex (/usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:92:31) 
at /usr/local/lib/node_modules/browserify/node_modules/resolve/lib/async.js:22:47 
at FSReqWrap.oncomplete (fs.js:95:15) 

В ...my working directory../node_modules/react-datalist/src/ReactDataList.js, это определяется:

import React   from 'react' 
import DataList  from './components/DataList' 
import DataListOption from './components/DataListOption' 
import layout   from './styles/react-datalist.styl' 

Это неясно мне об объеме импорта. Я думал, что механизм импорта node.js должен работать локально, но почему он пытается найти './components/DataList' прямо из моего рабочего каталога?

Должна быть некоторая концепция импорта модулей, которые я еще не знаю. Поэтому я был бы признателен, если бы вы могли указать на некоторые ссылки.

ответ

0

Я чувствую себя смущенным сейчас. Проблема в том, что я не осознал, что шаг трансформации и шаг связывания уже объединены в одну командную строку. Таким образом, вместо

browserify -t reactify main.jsx > main.js 
browserify main.js > bundle.js 

ли это

browserify -t reactify main.jsx > bundle.js 
Смежные вопросы