0

FileAPI 库 ( https://github.com/mailru/FileAPI/issues/202 ) 不正式支持 CommonJS 模块。我试过使用 browserify-shim,但我无法让它工作。在requireing之后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 中的控制台,您会看到 running 中的空数组console.log(Object.keys(require('fileapi')))。请注意,有一个window.FileAPI具有正确 API 的全局变量。

有谁知道 browserify-shim 是否能够填充 FileAPI?因为我相信它会做一些奇特的事情来管理它的依赖项(连接的文件需要某些全局变量)。

4

1 回答 1

1

您需要告诉 browserify 使用 browserify-shim 作为 package.json 中的转换,如本示例中所述

主要是你缺少:

"browserify": {
   "transform": [ "browserify-shim" ]
}
于 2015-10-28T19:58:36.080 回答