angular 2 webpack问题与第三方库

时间:2017-01-11 15:09:18

标签: angular webpack mapbox angular-cli mapbox-gl-js

我正在尝试在我的import lombok.Data; @Data public class Question { private Long qid; private String content; private String contentImgPath; private List<String> choices; private List<String> choiceImgPaths; private String answer; private String explanation; private List<String> tags; private String difficulty; public Question() {} public Question(String content, String contentImgPath, List<String> choices, List<String> choiceImgPaths, String answer, String explanation, List<String> tags, String difficulty) { super(); this.content = content; this.contentImgPath = contentImgPath; this.choices = choices; this.choiceImgPaths = choiceImgPaths; this.answer = answer; this.explanation = explanation; this.tags = tags; this.difficulty = difficulty; } } 生成的项目中启动并运行第三方库。

我到目前为止已安装:

angular-cli

在app.component.ts中:

npm install mapbox-gl --save
npm install @types/mapbox-gl --save
npm install @types/geojson --save

import { Component, OnInit } from '@angular/core'; import * as mapboxgl from 'mapbox-gl'; import { Map } from 'mapbox-gl'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent implements OnInit { constructor() { (mapboxgl as any).accessToken = '****'; } ngOnInit() { let map = new Map({ container: 'map', style: 'mapbox://styles/mapbox/light-v9', zoom: 5, center: [-78.880453, 42.897852] }); } } 会在类似的行上产生许多错误:

   ./~/mapbox-gl/js/util/util.js中的错误模块解析失败:   C:_dev \角mapbox \ node_modules \ mapbox-GL \ JS \ UTIL \ util的。 JS   意外的令牌(15:35)您可能需要一个合适的加载器来处理   这个文件类型。 | * @private | * / | exports.easeCubicInOut =   function(t:number):number {| if(t <= 0)返回0; | if(t

     
    

= 1)返回1; @ ./~/mapbox-gl/js/mapbox-gl.js 26:16-38 @ ./src/app/app.component.ts @ ./src/app/app.module.ts @ ./src/ main.ts     @ multi main

  

我正在关注this post(@ brandonreid&#39;答案),它有一些我觉得我需要的webpack临时步骤,但不知道如何编织,因为我已经使用了角度-cli。

在类似的情况下,我跟着this wrapping project并得到完全相同的问题。

2 个答案:

答案 0 :(得分:1)

回答上述评论中的问题...由于第三方库不是组件,因此将其包含在起始文件中,即。 index.html,作为一个老式的util.js文件。然后从app.component.ts中删除导入并按原样使用它。希望这可以帮助其他人解决同样的问题。

答案 1 :(得分:0)

我认为问题与webpack有关。尝试更换

import * as mapboxgl from 'mapbox-gl';

import mapboxgl from 'mapbox-gl/dist/mapbox-gl.js';