Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 传输到ES5,包括根目录以外的文件_Javascript_Reactjs_Babeljs - Fatal编程技术网

Javascript 传输到ES5,包括根目录以外的文件

Javascript 传输到ES5,包括根目录以外的文件,javascript,reactjs,babeljs,Javascript,Reactjs,Babeljs,我有一个项目,其中包含多个应用程序和此结构中的一些常见组件: ui - app1 - app2 - components 组件中的javascript文件是用ES6编写的。app1和app2都有此网页包配置: var path = require('path') module.exports = { entry: ['babel-polyfill', './src/index.js'], module: { rules: [{ test: /\.jsx?$/

我有一个项目,其中包含多个应用程序和此结构中的一些常见组件:

ui
 - app1
 - app2
 - components
组件中的javascript文件是用ES6编写的。app1和app2都有此网页包配置:

var path = require('path')

module.exports = {
  entry: ['babel-polyfill', './src/index.js'],
  module: {
    rules: [{
      test: /\.jsx?$/,
      include: [
        path.resolve(__dirname, '../components'),
        path.resolve(__dirname, 'src')
      ],
      loader: 'babel-loader'
    }]
  },
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  },
  resolve: {
    alias: {
      InputComponents: path.resolve(__dirname, '../components'),
    }
  },
}
巴别塔配置:

{
  "plugins": [
    "transform-async-to-generator",
    "glamor/babel"
  ],
  "presets": [
    "es2015",
    "react",
    "stage-0"
  ]
}
我的代码:

import React, { Component } from 'react'
import { Button } from 'CommonComponents'

export default class ButtonView extends Component {
  render () {
    return <Button>GO!</Button>
  }
}
import React,{Component}来自“React”
从“CommonComponents”导入{Button}
导出默认类按钮查看扩展组件{
渲染(){
回去吧!
}
}
我希望我的组件和应用程序能够使用Babel构建并传输到ES5。应用程序可以工作,但外部组件不能工作,我会遇到如下错误:

Module build failed: SyntaxError: Unexpected token (6:34)

  4 | class Button extends Component {
  5 |   render () {
> 6 |     if (this.props.stroke) return <ButtonStroke {...this.props} />
    |                                   ^
模块生成失败:语法错误:意外令牌(6:34)
4 |类按钮扩展组件{
5 |渲染(){
>6 |如果(本支柱行程)返回
|                                   ^

如何确保babel传输我的外部组件?

看起来babel的网页规则没有设置为匹配该目录以外的任何内容(\uu dirname)。因此,这些组件不使用babel,JSX transpiler也没有启动。我没有在任何地方明确设置。是否缺少webpack/babel参数?我将在问题中添加我的babel配置。不知道您的路径。resolve AFAIK是否应包括组件,可能与resolve.alias冲突?您还可以尝试设置:th我的问题是外部文件不是一个合适的模块。它们只是javascript文件。我在问题中添加了一些HTML。@Damon解决方案是让加载程序也传输外部文件。更多信息如下: