导出函数遇到“未捕获的SyntaxError:意外的令牌导出”时

时间:2019-05-18 07:50:21

标签: javascript angular typescript angular7

我正在使用javascript导入库,并且正在编写一个调用该库的JS函数。之后,我想将此JS文件导出到我的TS component.ts文件中。

在assets / js文件夹下,我有demo.js和demo.d.ts

在[demo.js]中:

export function myMethod(){
 var jrQrcode = require('jr-qrcode');
 var imgBase64 = jrQrcode.getQrBase64('hello world');
 return imgBase64;
}

在[demo.d.ts]中:

export declare function myMethod();

在[app.component.ts]中:

import { myMethod } from 'src/assets/js/demo'; 

实际上,代码可以正常运行并且运行良好,但是我遇到了这样的错误:“ Uncaught SyntaxError:Unexpected token export”。此错误指向“ demo.js”文件,即第一条导出功能行。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您必须从非src / assets资产导入

import { myMethod } from 'assets/js/demo'; 

编辑,您可以像这样创建文件名lib.ts

export function myMethod(){
 var jrQrcode = require('jr-qrcode');
 var imgBase64 = jrQrcode.getQrBase64('hello world');
 return imgBase64;
}

并确保您的tsconfig.json包含这一行,以便您可以使用require关键字

"typeRoots": [
  "node_modules/@types",