找不到从 npm 安装的模块中导入的子模块
Cannot find a submodule imported inside a module installed from npm
我想通过 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'
?
一定有一些关于导入模块的概念我还不知道。因此,如果您能指出一些参考资料,我将不胜感激。
我现在觉得很尴尬。问题是我没有意识到转换步骤和捆绑步骤已经合并到一个命令行中。因此,而不是
browserify -t reactify main.jsx > main.js
browserify main.js > bundle.js
这样做
browserify -t reactify main.jsx > bundle.js
我想通过 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'
?
一定有一些关于导入模块的概念我还不知道。因此,如果您能指出一些参考资料,我将不胜感激。
我现在觉得很尴尬。问题是我没有意识到转换步骤和捆绑步骤已经合并到一个命令行中。因此,而不是
browserify -t reactify main.jsx > main.js
browserify main.js > bundle.js
这样做
browserify -t reactify main.jsx > bundle.js