我无法在我的cordova应用程序中使用cordova-promise-fs。
我拥有:index.html,其中包含一个由browserify创建的js文件。这个js文件包含cordovapromisefs.js,promiscuous.js和我自己的代码的内容,它们是:
require('../node_modules/cordova-promise-fs/dist/CordovaPromiseFS.js');
var fs = CordovaPromiseFS({
persistent: true, // or false
storageSize: 20 * 1024 * 1024, // storage size in bytes, default 20MB
concurrency: 3, // how many concurrent uploads/downloads?
Promise: require('../node_modules/promiscuous/promiscuous.js') // Your favorite Promise/A+ library!
});
(function () {
"use strict";
document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );
function onDeviceReady() {
console.log(fs);
};
} )();
我认为这应该完成工作,但这导致我“未捕获的ReferenceError:未定义CordovaPromiseFS”
愿意指出正确的方向。
答案 0 :(得分:0)
尝试分配从require
返回的值:
var CordovaPromiseFS = require('../node_modules/cordova-promise-fs/dist/CordovaPromiseFS.js');
你也可以使用webpack自己构建CordovaPromiseFS作为浏览器库。 the repo's readme建议您克隆源并运行可用的prepublish
命令:
npm install webpack -g
npm run-script prepublish
此命令基本上包含CordovaPromiseFS的index.js文件和压缩的dist文件,并将其公开给变量(see the source)。
答案 1 :(得分:0)
您正在使用Browserify构建捆绑包,因此不需要已捆绑的cordova-promise-fs/dist/CordovaPromiseFS.js
文件,而是需要模块本身,如下所示:
var CordovaPromiseFS = require('cordova-promise-fs');
这将包括你的包中的cordova-promise-fs/index.js
文件 - 与已经捆绑的文件不同 - 是一个导出工厂函数的CommonJS模块。