Error: Cannot find module "expose?Zone!zone.js"
Error: Cannot find module "expose?Zone!zone.js"
我正在尝试 Angular 2。但是在将 zone.js
作为全局变量导入后出现此错误:
我的包及其版本:
"dependencies": {
"angular2": "2.0.0-beta.3",
"es6-promise": "3.0.2",
"es6-shim": "0.33.13",
"expose-loader": "^0.7.1",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.0",
"zone.js": "0.5.11"
}
我像这样 import 'expose?Zone!zone.js';
在我的 index.ts
中导入了 zone.js。
而且,我的 index.ts
是 webpack.config.js
文件中的条目。
如何通过将 zone.js
公开为全局变量(使用 expose-loader 因为我使用的是 WebPack)来正确导入它?
Zone.js 是 Angular 2 个 polyfill 的依赖项,如上文
在主条目文件的顶部,或者可能在供应商代码的单独条目文件中,导入以下内容:
// bundle.ts
import 'es6-shim';
import 'angular2/bundles/angular2-polyfills';
import 'rxjs';
这就是您真正需要的。然而,如果你想为你的供应商代码创建一个单独的块,也许使用 Webpack 的 CommonsChunkPlugin,你应该导入任何其他 Angular 2 稍后你将在你的应用程序中使用的文件,如下所示:
// vendor.ts
import 'es6-shim';
import 'angular2/bundles/angular2-polyfills';
import 'angular2/platform/browser';
import 'angular2/core';
import 'angular2/router';
import 'rxjs';