ReferenceError:未定义MouseEvent

时间:2016-08-25 23:40:55

标签: angular typescript webpack typescript2.0 angular2-universal

我正在尝试在使用ng2-select(TypeScript 2.x)作为主干的项目中使用angular/universal-starter

(我尝试在angular-cli生成的项目中添加ng2-select,虽然效果很好)

在添加这两行之后:

import { SELECT_DIRECTIVES } from 'ng2-select/ng2-select';

@Component({
  directives: [SELECT_DIRECTIVES],
  ...

我的终端已经收到错误:

ReferenceError: MouseEvent is not defined
    at /my-project/node_modules/ng2-select/components/select/off-click.js:33:42
    at Object.<anonymous> (/my-project/node_modules/ng2-select/components/select/off-click.js:43:2)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/my-project/node_modules/ng2-select/components/select/select.js:20:19)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
    at Function.Module._load (module.js:409:3)
    at Module.require (module.js:468:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/my-project/node_modules/ng2-select/components/select.js:2:16)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)
    at tryModuleLoad (module.js:417:12)
[nodemon] app crashed - waiting for file changes before starting...

这是我的 tsconfig.json 文件:

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "module": "commonjs",
    "removeComments": true,
    "sourceMap": true,
    "lib": ["es6", "dom"]
  },
  "include": [
    "node_modules/@types/**/*.d.ts",
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules",
    "!node_modules/@types/**/*.d.ts"
  ],
  "compileOnSave": false,
  "buildOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}

2 个答案:

答案 0 :(得分:0)

我认为错误是由于指令没有正确加载造成的。

1)确保导入正确的组件,并验证是否已定义MouseEvent

2)验证是否正在导出所有组件;

3)在

@Component({
  directives: [SELECT_DIRECTIVES],
  ...

确保SELECT_DIRECTIVES不是数组对象。如果是,我认为你应该尝试使用

[ ...SELECT_DIRECTIVES ]

答案 1 :(得分:0)

这是因为https://github.com/valor-software/ng2-select/issues/258

请跟踪此问题。