FileAPI库(https://github.com/mailru/FileAPI/issues/202)不正式支持CommonJS模块。我尝试过使用browserify-shim,但我无法使其正常运行。在require
fileapi
之后,我只得到一个空对象。我在https://github.com/Prinzhorn/browserify-fileapi
相关的package.json部分
{
"dependencies": {
"fileapi": "2.0.15"
},
"devDependencies": {
"browserify": "11.1.0",
"browserify-shim": "3.8.10"
},
"browser": {
"fileapi": "./node_modules/fileapi/dist/FileAPI.html5.js"
},
"browserify-shim": {
"fileapi": "FileAPI"
}
}
如果您想在本地尝试:
git clone git@github.com:Prinzhorn/browserify-fileapi.git
npm install
npm run build
chromium-browser index.html
在Chromium中查看控制台,您将看到运行console.log(Object.keys(require('fileapi')))
的空数组。请注意,全局window.FileAPI
具有正确的API。
有没有人知道browserify-shim是否能够填充FileAPI?因为我相信它管理它的依赖性做了一些奇特的事情(连接文件需要某些全局变量)。
答案 0 :(得分:1)
您需要告诉browserify使用browserify-shim作为package.json中的转换,如this example中所述
主要是你失踪了:
"browserify": {
"transform": [ "browserify-shim" ]
}