2015-03-27 3 views
1

Я хочу получить имя dirname текущего javascript-скрипта, например __dirname в node.js. Я не нашел метод в документе в ответном нативном, и мне интересно, как достичь этой цели? Или как я могу найти статический файл (например .js)? Например, например, используя NSDocumentDirectory, чтобы найти файл изначально в iOS.Как получить `__dirname` как Node.js, используя реакцию native

+1

Для чего вы хотите использовать '__dirname'? –

ответ

2

Один из способов сделать это - создать собственный модуль. Вот пример очень простой, которая просто дает вам строку, которую вы можете настроить для своих точных требований. В Xcode, создайте новый класс:

// DirName.h 

#import "RCTBridgeModule.h" 

@interface DirName : NSObject<RCTBridgeModule> 

@end 

// DirName.m 
#import "DirName.h" 

@implementation DirName 
- (void) get:(RCTResponseSenderBlock)callback { 
    RCT_EXPORT(); 

    // Change this depending on what you want to retrieve: 
    NSString* dirName = @"something"; 

    callback(@[dirName]); 
} 

@end 

Затем вызовите его:

var dirName = require('NativeModules').DirName; 

dirName.get(dirName => { 
    console.log(dirName); 
}); 

Однако я РИСКОВАННАЯ это. Подумайте о том, что вы делаете, - вы определенно хотите прочитать файловую систему своего устройства iOS или хотите использовать один из других методов захвата документов, который вам доступен?

+0

Я предполагаю, что автор вопроса хотел знать, как заставить __dirname работать, чтобы модули, использующие его, работали без модификации. –

Смежные вопросы