这似乎微不足道,但我找不到任何相关文档。
我想将我的(非常基本的)应用程序拆分为UI和非UI模块。所以我创造了这个:
/* datahandler.js */
export class DataHandler {
getSuppliers(search,limit,offset) {
let params = { method: 'GET',
headers: { 'Accept': 'application/json' },
body: null };
let url = 'http://url.for.data.service.goes.here';
return fetch( `${url}?params=${search},${limit},${offset}`, params )
.then((response) => response.json() )
.catch((error) => { console.error("fetch caught:" + error); } );
}
}
但我不知道在哪里放置模块以便识别它。如果我把它放在顶层并用import {DataHandler} from 'datahandler';
调用它,那么我得到:
error: bundling: UnableToResolveError: Unable to resolve module `datahandler` from `/home/andy/andy/try_react/try1/index.android.js`: Module does not exist in the module map or in these directories:
/home/andy/andy/try_react/try1/node_modules
This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
1. Clear watchman watches: `watchman watch-del-all`.
2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
3. Reset packager cache: `rm -fr $TMPDIR/react-*` or `npm start --reset-cache`.
at UnableToResolveError (/home/andy/andy/try_react/try1/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:488:5)
at p.catch.error (/home/andy/andy/try_react/try1/node_modules/react-native/packager/src/node-haste/DependencyGraph/ResolutionRequest.js:366:19)
at process._tickCallback (internal/process/next_tick.js:109:7)
Bundling `index.android.js` 0.0% (0/1), failed.
似乎我可以将文件放入node_modules目录,但我不想这样做。是否有某种模块路径或要包含的文件清单,我在文档中没有看到?
顺便说一下,我确实试过react-native new-library --name="datahandler"
,但它所做的只是创建一个Libraries目录,而不是承诺的模板(对于整个库?我很确定我不想要那个,无论如何)。
答案 0 :(得分:0)
只是
import (DataHandler} from './datandler';
我错过了./
。
但是:我仍然找不到记录的任何地方。