我有以下包
mylibrary
,其中导出了一个类和一个接口。
src/Notification.ts
import {INotification} from 'INotification';
export class Notification implements INotification {
private readonly _name: string;
private _body?: any;
public constructor(name: string, body?: any) {
this._name = name;
this._body = body;
}
public get name(): string { return this._name; }
public get body(): any { return this._body;}
}
src/INotification
export interface INotification {
readonly name: string;
body?: any;
}
index.ts
export {Notification} from './src/Notification';
export type {INotification} from "./src/INotification";
使用我的库进行项目
我手动将 mylibrary 复制到 node_modules 文件夹
package.json
"dependencies": {
"react": "18.2.0",
"react-native": "0.71.19",
"mylibrary": "file:node_modules/mylibrary"
},
App.js
import {StyleSheet, Text, View} from 'react-native';
import React from 'react';
import {Notification} from 'mylibrary';
const App = () => {
const n = new Notification('a', null);
return (
<View>
<Text>{n.name}</Text>
</View>
);
};
export default App;
错误
渲染错误 无法读取未定义的属性“原型”。
我怀疑模拟器可能无法从我的计算机中找到node_modules/mylibrary包,因为模拟器和桌面都有不同的磁盘空间分配
我已经使用了很多包作为本地包。您不需要在 package.json 中添加包名称/路径以及在节点模块中添加文件文件夹。将文件直接添加到您的项目 src 并访问它们。