找不到从npm

时间:2015-06-07 03:03:37

标签: node.js npm reactjs browserify html-datalist

我想使用browserify从https://github.com/asbjornenge/react-datalist使用node.js模块。

我确实在我的工作目录中本地安装了该模块。 在该目录中,我创建了一个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);

然后,我这样重新解决:

browserify -t reactify main.jsx > main.js

到目前为止一直很好,但问题是当我想浏览时:

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'

必须有一些关于导入模块的概念我还不知道。如果你能指出一些参考资料,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我现在感到尴尬。问题是我没有意识到转换步骤,捆绑步骤已经合并到一个命令行中。因此,而不是

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

这样做

browserify -t reactify main.jsx > bundle.js