我试图在我的应用程序中使用webpack包含第三方模块,如此
//package.json
"dependencies": {
"jsrsasign": "6.1.4"
}
//custom-typings.d.ts
declare module KJUR {
module jws {
module JWS {
function readSafeJSONString(token: string): any;
function verifyJWT(token: string, key: string, data: Object): boolean;
}
}
}
//webpack.json
entry: {
'vendor': './src/vendor.browser.ts',
},
//vendor.browser.ts
import 'jsrsasign';
我可以在Chrome中看到该模块正在加载到node_modules中,我可以从Chrome中的webpack文件夹中打开它。以下是调用模块
的组件中的代码 let tokenHeader: TokenHeader = KJUR.jws.JWS.readSafeJSONString(token.split('.')[0]);
然而,当我到达这一行时,我得到了
app.component.ts:45 ReferenceError:未定义KJUR
我猜我在这里错过了一步,因为我已经按照所有教程我都可以。我是否还需要将jsrsasign导入到我的模块中?零件?任何帮助将不胜感激。
答案 0 :(得分:0)
您是否尝试将其添加到ProvidePlugin中,如下所示: https://webpack.github.io/docs/shimming-modules.html
答案 1 :(得分:0)
您需要导入KJUR:
import { KJUR } from 'jsrsasign';
declare module KJUR {
export module jws {
export class JWS {
static readSafeJSONString(token: string): any;
static verifyJWT(token: string, key: string, data: Object): boolean;
}
}
}