다음과 같은 타이프 스크립트 .ts
이 있습니다. 선행 입력 정의가 @types/typeahead
에 있고 구현이 typeahead.js
에 있기 때문에
내가 웹팩 버전 2.2.1
webpack 2.2.1 잘못된 순서/위치로 종속성 정렬
import { module } from "angular";
import "typeahead";
class TypeAheadController {
static $inject = ["$log", "$timeout", "$http", "$interpolate"];
constructor(
public $log: ng.ILogService,
public $timeout: ng.ITimeoutService,
public $http: ng.IHttpService,
public $interpolate: ng.IInterpolateService) {
// do stuff with Typeahead/Bloodhound.
var bloodhoundSuggestions = new Bloodhound({
datumTokenizer: _ => Bloodhound.tokenizers.obj.whitespace(_[this.inputValue]),
queryTokenizer: Bloodhound.tokenizers.whitespace,
}
를 사용하고,이 결과 생성 된 자바 스크립트 불행하게도 webpack.config.js
globule = require("globule");
var configuration = {
context: __dirname,
resolve:
{
alias: {
typeahead: "typeahead.js"
}
},
entry: [
...globule.find("client/*.ts", { srcBase: "wwwroot/js/admin" })
],
output: {
filename: "./wwwroot/js/admin/admin.js"
},
module: {
rules: [
{ test: /\.ts$/, use: 'ts-loader' }
]
}
};
console.log(configuration);
module.exports = configuration;
에 위치 별칭을하는 것이 필요 파일, Bloodhound
은 정의되지 않았습니다.
Webpack은 관련 require (323)를 포함하고 사용하는 것처럼 보이지만, Bloodhound
은 정의되지 않으므로 분명히 작동하지 않습니다. 출력 파일에
이 있으면 제어기가 정의되기 직전에 require가 나타납니다.
Object.defineProperty(exports, "__esModule", { value: true });
var angular_1 = __webpack_require__(16);
__webpack_require__(323);
/**
* initialise and use a type ahead to find suggestions.
*/
var TypeAheadController = (function() {
훨씬 더 파일 아래, 나는 정의되지 않은 블러드 하운드를 해결하려면 어떻게 323
/***/ }),
/* 323 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(setImmediate) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
* typeahead.js 0.11.1
* https://github.com/twitter/typeahead.js
찾을?