我正在使用Angular 4与Office.js。该项目是由Angular CLI创建的。
代码很简单:
// declare const Office: any;
// With the line above, the app runs perfect
Office.initialize = function () {
platformBrowserDynamic().bootstrapModule(AppModule);
};
我遇到了错误
无法找到名称 'Office'。
我已经运行了npm install --save-dev @types/office-js
我的tsconfig.json文件:
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"baseUrl": "src",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2016",
"dom"
]
}
}
更新 1:
根据 @MahmoodSajjadi 的建议,在执行 npm install --save @microsoft/office-js
后,使用以下代码:
import { Office } from '@microsoft/office-js';
收到以下错误:
ERROR in /my-app/src/main.ts (3,24): 文件 '/my-app/node_modules/@types/office-js/index.d.ts' 不是一个模块。
ERROR in ./src/main.ts 模块未找到: Error: 无法解析 '/my-app/src' 中的 'office-js'
@ ./src/main.ts 3:0-35
@ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts
在 package.json 中,实际上是 "@microsoft/office-js": "0.0.0"
,不确定这是否是正确的包。
更新 2:
根据 Michael 的答案,似乎 NPM 版本尚未准备好,我将暂时使用 CDN 版本。感谢大家的帮助!
@type/office-js
包仅是一个类型包而不是实际的office.js
,您需要运行npm i @microsoft/office-js
。 - Mahmood Sajjadiimport 'office-js';
导入它,尽管类型应该会自动捕获而无需这样做。 - Aluan Haddad"@microsoft/office-js": "0.0.0"
,不确定它是否是正确的包。 - Hongbo Miao