我想访问Windows名称空间和" Windows.storage"的特定工具,例如我的Reactenative Windows Project中的JS。正如我所理解的那样
从理论上讲,我应该能够像从项目中的JsProjectWinRTNamespace(L"Windows.Storage");
一样进行SMTH。如果发生反应,则可能是Native.JsProjectWinRTNamespace(L"Windows.Storage");
。但是我不明白应该放在哪里。
任何帮助将不胜感激。谢谢。
好的,似乎我已经找到了这个。您应该能够通过向其添加Native.JsProjectWinRTNamespace(L"Windows.Storage");
行中的InitializeChakra()
编辑CC_3功能,因此看起来如下:
private void InitializeChakra()
{
JavaScriptContext.Current = _runtime.CreateContext();
var consolePropertyId = default(JavaScriptPropertyId);
Native.ThrowIfError(
Native.JsGetPropertyIdFromName("console", out consolePropertyId));
Native.JsProjectWinRTNamespace(L"Windows.Storage");
var consoleObject = JavaScriptValue.CreateObject();
EnsureGlobalObject().SetProperty(consolePropertyId, consoleObject, true);
_consoleInfo = ConsoleInfo;
_consoleLog = ConsoleLog;
_consoleWarn = ConsoleWarn;
_consoleError = ConsoleError;
DefineHostCallback(consoleObject, "info", _consoleInfo);
DefineHostCallback(consoleObject, "log", _consoleLog);
DefineHostCallback(consoleObject, "warn", _consoleWarn);
DefineHostCallback(consoleObject, "error", _consoleError);
Debug.WriteLine("Chakra initialization successful.");
}
现在,您可以直接从反应式JS代码中使用Windows API,例如:
var path = Windows.Storage.ApplicationData.current.localFolder.path;
。
!!!但是要小心,因为此名称空间只能在脉轮运行时可用,因此,当使用Chrome调试应用程序时 - 会不断出现'Windows is undefined'
错误。