javascript - 错误: Cannot find module "expose?Zone!zone.js"

标签 javascript typescript angular webpack-dev-server

我正在尝试 Angular 2。但是在将 zone.js 作为全局变量导入后出现此错误:

enter image description here

我的包及其版本:

"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"
}

我在 index.ts 中导入了 zone.js,如下 import 'expose?Zone!zone.js';

而且,我的 index.tswebpack.config.js 文件中的条目。

如何通过将 zone.js 公开为全局变量来正确导入它(使用公开加载器,因为我使用的是 WebPack)?

最佳答案

Zone.js 是 Angular 2 polyfill 的依赖项,如 Eric Martinez上面的注释。目前似乎还缺乏有关让 Angular 2 与 Webpack 配合使用的信息。事实上,简单的设置并不那么复杂。

在主条目文件的顶部,或者可能在 vendor 代码的单独条目文件中,导入以下内容:

// bundle.ts

import 'es6-shim';
import 'angular2/bundles/angular2-polyfills';
import 'rxjs';

这就是您真正需要的。但是,如果您想为 vendor 代码创建单独的 block ,也许可以使用 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';

关于javascript - 错误: Cannot find module "expose?Zone!zone.js",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374029/

相关文章:

javascript - 从哪里 Javascript 错误 "ReferenceError: Can' t 找到变量 : imenu_title"?

javascript - 无法加载 Angular 模块 textangular

javascript - 导入自定义 NPM 库时无法在模块外使用导入语句

angular - 如何在 Angular 组件中测试 ViewChild/ContentChild 属性?

javascript - D3 V4多系列折线图: Adding data points to lines with same color as lines

css - 如何在 Angular 应用程序中使用 SASS/SCSS

html - 以 Angular 发布数据时出现错误请求错误

javascript - parseInt(18446744073709551616) 在 javascript 中返回 18446744073709552000

javascript - 创建显示处理覆盖的 angular2 服务

javascript - 使用javascript更改文档的背景颜色