我正在使用Angular 4与Office.js。该项目由Angular CLI创建。找不到名字'Office'
代码很简单:
// declare const Office: any;
// With the line above, the app runs perfect
Office.initialize = function() {
platformBrowserDynamic().bootstrapModule(AppModule);
};
我
Cannot find name '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): File '/my-app/node_modules/@types/office-js/index.d.ts' is not a module.
ERROR in ./src/main.ts Module not found: Error: Can't resolve 'office-js' in '/my-app/src'
@ ./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:
基于迈克尔的回答,似乎NPM的版本还没有准备好,我会留在CDN版本第一。感谢大家的帮助!
您需要声明Office或导入它(作为您的代码注释) –
@MahmoodSajjadi如何正确导入?我尝试从'office-js'导入{Office};'但是不起作用。 –
包'@ type/office-js'只是打包包而不是实际的'office.js',你需要'npm i @ microsoft/office-js' –