带有Web Pack的Angular 2以及ES6

喜悦

我正在为以下项目提供设置-

.babelrc -

{
  "presets": ["es2015", "stage-0"]
}

的package.json -

{
  "name": "angular-quickstart",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "angular2": "^2.0.0-beta.11",
    "es6-promise": "latest",
    "es6-shim": "^0.35.0",
    "reflect-metadata": "^0.1.3",
    "rxjs": "latest",
    "zone.js": "^0.6.6"
  },
  "devDependencies": {
    "awesome-typescript-loader": "^0.16.2",
    "babel-core": "^6.7.4",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-stage-0": "^6.5.0",
    "webpack": "^1.12.14"
  },
  "scripts": {},
  "author": "",
  "license": "ISC"
}

Webpack.config.js -

var path = require('path'),
  webpack = require('webpack'),
  ForkCheckerPlugin = require('awesome-typescript-loader').ForkCheckerPlugin;


module.exports = {
  devtool: 'eval-source-map',
  entry: {
    main: [
      './src/app'
    ]
  },
  output: {
    filename: './[name].js',
    path: path.join(__dirname, 'public'),
    publicPath: '/public/'
  },
  resolve: {

    // An array of extensions that should be used to resolve modules.
    //
    // See: http://webpack.github.io/docs/configuration.html#resolve-extensions
    extensions: ['', '.ts', '.js'],

    // Make sure root is src
    root: path.join(__dirname, 'src'),

  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new ForkCheckerPlugin(),
  ],
  module: {
    loaders: [{
      test: /\.js?$/,
      exclude: path.join(__dirname, 'src'),
      loaders: ['babel']
    }, {
      test: /\.ts$/,
      loader: 'awesome-typescript-loader',
      exclude: [/\.(spec|e2e)\.ts$/]
    }, ],
  }
}

root.component.js -

import {
  Component
}
from 'angular2/core';


@Component({
  selector: "my-app",
  template: '<h1>hello Joy</h1>'
})

export class RootComponent {
  constructor() {

  }
}

当我运行的命令时web pack它给我下面的错误-

ERROR in ./src/app.js
Module parse failed: /Users/Joy/Documents/Work/Javascript/Angular-quickstart/src/app.js Line 1: Unexpected token
You may need an appropriate loader to handle this file type.
| import bootstrap from 'angular2/platform/browser';
| import RootComponent from './components/root.component';
| 
 @ multi main

任何人都知道为什么这会给我造成麻烦。它几乎与React应用程序相同。这仅用于无反应的angular2.0。IT的行为应相同。

彼得·阿维里亚诺夫(Petr Averyanov)
loaders: [{
  test: /\.js?$/,
  exclude: path.join(__dirname, 'src'),
  loaders: ['babel']

实际上,您完全需要用于src的babel,并将其排除在外。应该是这样的:

loaders: [{
  test: /\.js$/,
  loader: 'babel',
  exclude: /node_modules|bower_components/
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有 TS 的 Angular 2 ES6 过滤器

来自分类Dev

了解有关Angular2 Web应用程序的ES6模块

来自分类Dev

Angular 2 Web Pack 404 HTML模板网址

来自分类Dev

带有Web Api 2的Angular下载csv文件

来自分类Dev

如何使用带有angular-webpack-seed的ES6语法更新部分HTML

来自分类Dev

带有标题的Angular 2 Http删除,可用于Web API REST

来自分类Dev

带有 Angular 2 的 asp.net Web API 中的 System.OutOfMemoryException

来自分类Dev

为什么Angular构建会创建带有'es5'和'es2015'但没有'es6'(或根本没有后缀)的文件?

来自分类Dev

带有Angular 2的Django

来自分类Dev

带有 Materialise 的 Angular 2

来自分类Dev

Browserify-具有ES6模块以及多个源文件和导出的独立版本

来自分类Dev

Web Api 2:带有内容的NotFound()?

来自分类Dev

Angular2 ES6 @Input替代

来自分类Dev

Angular 2 / Typescript / Webpack的Prerender es6错误

来自分类Dev

带有模板的Angular 2 @View与带有模板的@Component

来自分类Dev

带有会话存储的 Angular 6

来自分类Dev

带有es6承诺对象的sinon存根

来自分类Dev

使用带有ES6的mixins的ReactJS Reflux

来自分类Dev

带有ES6 Promise的jQuery ajax

来自分类Dev

带有ES6类的AngularJS 1.4,为空

来自分类Dev

带有箭头功能es6的setTimeout ReactJS

来自分类Dev

带有ES6 Promise的递归树遍历

来自分类Dev

带有ES6类的AngularJS 1.4,为空

来自分类Dev

带有es6承诺对象的sinon存根

来自分类Dev

es6声明带有括号的函数

来自分类Dev

reactjs中带有es6映射的意外令牌

来自分类Dev

带有 ES6 类的 JavaScript 模式

来自分类Dev

带有异步调用的 ES6 循环

来自分类Dev

带有Angular JS的Spring Web MVC-路由