gpt4 book ai didi

javascript - Angular 2 : SyntaxError: Unexpected token <(…)

转载 作者:太空狗 更新时间:2023-10-29 18:34:45 24 4
gpt4 key购买 nike

我知道,这个问题已经被问过了,但我无法找到针对我的特殊情况的解决方案,我无法理解错误的真正原因。

我有一个运行良好的 angularjs2 应用程序。现在我想导入 marked 库。

我做了什么:

npm install marked
tsd install marked --save

和 tsd.json

{
"version": "v4",
"repo": "borisyankov/DefinitelyTyped",
"ref": "master",
"path": "typings",
"bundle": "typings/tsd.d.ts",
"installed": {
"marked/marked.d.ts": {
"commit": "cc3d223a946f661eff871787edeb0fcb8f0db156"
}
}
}

现在尝试将“标记”导入我的组件

import {Component} from 'angular2/core';
import * as marked from 'marked';

@Component({
selector: 'blog-component',
templateUrl: 'app/components/blog/blog.html'
})
export class BlogComponent {
private md: MarkedStatic;

constructor() {
this.md = marked.setOptions({});
}

getMarked() {
return this.md.parse("# HELLO");
}
}

此行:this.md = marked.setOptions({}); 产生错误 SyntaxError: Unexpected token.. 删除此行不会以错误.. 我还认为 MarkedStatic 是正确导入的。但是不可能解析 markdown,因为它应该首先用 setOptions 初始化。

所以我假设 marked 的导入失败,或者 setOptions 方法失败..但我不明白为什么......

这里是我的 index.html 的脚本部分:

<!-- 1. Load libraries -->
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/typescript/lib/typescript.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>
<script src="node_modules/marked/marked.min.js"></script>
<script>
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
packages: {'app': {defaultExtension: 'ts'}}
});
System
.import('app/boot')
.then(null, console.error.bind(console));
</script>

最佳答案

您需要将其添加到您的 SystemJS 配置中,而不是将其包含到 script 元素中:

<script>
System.config({
transpiler: 'typescript',
typescriptOptions: { emitDecoratorMetadata: true },
map: {
marked: 'node_modules/marked/marked.min.js'
},
packages: {'app': {defaultExtension: 'ts'}}
});
</script>

查看此插件:https://plnkr.co/edit/0oSeaIyMWoq5fAKKlJLA?p=preview .

这个问题可能对你有用:

关于javascript - Angular 2 : SyntaxError: Unexpected token <(…),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36081834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com