最近在玩 Office Add-ins,遇到一些问题,在这里记录一下。
假设我们要做 Office Add-ins 开发,按Microsoft的示例,大致上的步骤如下:
- 安装 nodejs / npm
- 安装 Yeoman 和 generator-office :
npm install -g yo generator-office
使用 Yeoman 生成器创建加载项项目
yo office
然后,这时候就错了。
Unable to download project zip file for "https://github.com/OfficeDev/Office-Addin-TaskPane-JS/archive/yo-office.zip".
Error: connect ETIMEDOUT 20.205.243.166:443
因为 GFW 把 githut 挡住了,要从 github 下载 office add-ins 的模板,得通过 proxy。
尝试了给 npm 加代理,把电脑搞成全局代理,都不管用。没办法,只好看代码咯。
这个下载的事,是由 generator-office 做的,它的代码在
C:\Users\<yourname>\AppData\Roaming\npm\node_modules\generator-office
这个目录下。
因为要面对多种情况,MS在github上创建了几个库来对应每一种情况。在 yo office 的时候,它会问你一些问题,最后决定选哪一个库里面的模板。所以,如果使用 url 是搜索不到对应的代码的。
要修改的地方在
C:\Users\<yourname>\AppData\Roaming\npm\node_modules\generator-office\generators\app\helpers\helperMethods.js
这个文件中。
如上图中的红色的两行,为axios设置代理。修改好后,再次 yo office 就没问题了。