Стрелка функции преобразования не переносит функцию стрелки из импортированных модулей и ошибки в IE11 - PullRequest
0 голосов
/ 10 октября 2018

в настоящее время у меня есть одна проблема для моего проекта, которая заключается в том, что моя функция стрелок не может перейти из моего собственного импортированного модуля.Я пытаюсь объяснить своими примерами:

Это мой файл .babelrc

{
  "plugins": [
    "transform-object-rest-spread",
    "transform-object-assign",
    "transform-class-properties",
    "react-html-attrs",
    "syntax-dynamic-import",
    "react-hot-loader/babel",
    "transform-es2015-arrow-functions",
    "transform-es2015-function-name",
    "transform-es2015-shorthand-properties"
  ],
  "presets": [
    [
      "env",
      {
        "targets": {
          "browsers": [
            "Chrome >= 52",
            "FireFox >= 44",
            "Safari >= 7",
            "ie >= 9",
            "last 4 Edge versions"
          ]
        },
        "useBuiltIns": true,
        "debug": true
      }
    ],
    "react",
    "es2015"
  ]
}

, а это мой package.json

"devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.5",
    "babel-plugin-react-html-attrs": "^2.1.0",
    "babel-plugin-transform-class-properties": "^6.24.1",
    "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
    "babel-plugin-transform-es2015-function-name": "^6.24.1",
    "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1",
    "babel-plugin-transform-object-assign": "^6.22.0",
    "babel-plugin-transform-object-rest-spread": "^6.26.0",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "babel-preset-stage-3": "^6.24.1",
    "webpack": "^3.1.0",
    "webpack-hot-middleware": "2.18.2",
    "webpack-merge": "4.1.0",
    "webpack-node-externals": "^1.7.2"
  }

, а это мой babelКонфигурация загрузчика в webpack.config

   module: {
    rules: [
        {
            test: /\.js[x]$/,
            exclude: /(node_modules|bower_components)/,
            use: {
                loader: "babel-loader"
            }
        },
        { test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|eot|ttf)$/, use: 'url-loader?limit=25000' }
    ]
}

С этим конфигом я попробовал два примера: когда функция стрелки находится в корневых компонентах, она перенесла функцию стрелки в современный javscript, но когда я импортировала функцию издругой файл, и он импортирует функцию стрелки внутри моего компонента, и он получает ошибку в IE11.

Первый работающий пример:

import React from 'react';

const testing = data => {
    console.log(data);
    return data;
}

class App extends React.Component {
    constructor(props) {
        super(props);
    }

    render() {
        return (
            <div>{testing("Hi, this is testing.")}</div>
        )
    }
}

Но когда я перемещаю функцию стрелки в другие файлы и импортируюк корневому приложению он больше не работает в IE11, и я проверяю, внутри файла комплекта появляется стрелка "=>" в файле комплекта, которая не передается в функцию.

Примеры 2, которые не доходят до транспилирования:App.jsx

import React from 'react';
import testing from "./testing"

class App extends React.Component {
    constructor(props) {
        super(props);
    }

    render() {
        return (
            <div>{testing("Hi, this is testing.")}</div>
        )
    }
}

testing.js

const testingFunction = data => {
    return data;
};

export default function testing(data){
    return testingFunction(data);
}

Преобразование функции стрелки не преобразует пример 2 testing.jsx testingFunction () Моdern javascript

Я что-то пропускаю и извиняюсь за свой ломаный английский.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...