当前位置: 首页 > 面试题库 >

Webpack无法将ES6转换为ES5

东方华荣
2023-03-14
问题内容

我是Webpack的新手。我想我做错了。我想使用babel将ES6函数转换为ES5函数。因此,我做了一些研究,发现了babel-
loader。但是,我不确定自己在做什么。

我运行npm install babel-loader –save-dev并将其添加到我的package.json中

// package.json

{
  "name": "kanban",
  "version": "1.0.0",
  "description": "kanban",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.3.21",
    "babel-loader": "^6.2.0",
    "html-webpack-plugin": "^1.7.0",
    "json-loader": "^0.5.4",
    "webpack": "^1.12.9"
  }
}

// webpack.config.js

var path = require('path');
var HtmlwebpackPlugin =  require('html-webpack-plugin');

const PATHS = {
  app: path.join(__dirname, 'app'),
  build: path.join(__dirname, 'build')
};

module.exports = {
  entry: PATHS.app,
  output: {
    path: PATHS.build,
    filename: 'bundle.js'
  },
  plugins: [
    new HtmlwebpackPlugin({
      title: 'Kanban app'
    })
  ],
  module: {
    loaders: [
      { test: /\.js$/, loader: 'babel-loader' }
    ]
  }
};

// app / index.js-
我刚刚在ES6语法中添加了一些随机的无用函数。我希望我能在我的bundle.js文件中看到ES5格式,但是它没有改变。bundle.js中仍然是ES6语法

var component = require('./component');
var app = document.createElement('div');
document.body.appendChild('app');
app.appendChild(component());

let myJson = {
  prop: 'myProp'
};

let fives = [];
nums = [1, 2, 5, 15, 25, 32];

// Statement bodies
nums.forEach(function (v) {
  if (v % 5 === 0) {
    fives.push(v);
  }
}, this);

console.log(fives);

let sum = (a, b) => a + b;

// app / component.js

module.exports = function() {
  var element = document.createElement('h1');
  element.innerHTML = 'hello world';
  return element;
};

问题答案:

如果要将ES6编译为ES5,则需要安装Babel ES2015预设。

npm install babel-preset-es2015

然后,您需要启用此预设。启用此ES6到ES5编译的一种方法是使用babel-loader查询字符串:

  module: {
    loaders: [
      {
        test: /\.js$/,
        loader: 'babel-loader?presets[]=es2015'
      }
    ]
  }

或查询选项:

  module: {
    loaders: [
      {
        test: /\.js$/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015']
        }
      }
    ]
  }


 类似资料:
  • 问题内容: 我正在尝试将文件保存到SQL Server数据库中,该文件将保存在其中的列是datatype 。 我目前这样做的方式是通过获取文件路径并将文件转换为字节数组。 然后,我使用插入查询和convert函数将字节插入数据库,以将转换为: 但是,在SQL Server数据库中,的值始终为 而且,无论选择哪个文件,都始终是该数字。因此,如果您能告诉我为什么会这样,以及我应该采取什么措施来防止这种

  • 问题内容: 我想将SQL COUNT的结果存储在变量中,然后将它们除,但是出现错误: 注意:类mysqli_result的对象无法在----中转换为int 我曾经在测试时显示结果…我该如何解决? 问题答案: 您需要先获取结果并将其存储在变量中,然后再进行数学运算。

  • 假设您有一个类似数组的Javascript ES6 Iterable,您事先知道它的长度是有限的,将其转换为Javascript数组的最佳方法是什么? 这样做的原因是许多js库(如underscore和lodash)仅支持数组,因此如果您希望在可迭代上使用它们的任何函数,则必须首先将其转换为Array。 在python中,您可以只使用list()函数。ES6中是否有同等标准?

  • 问题内容: 我有一个数据框(df),看起来像: 对于整个时间序列,我尝试将今天的值除以昨天,并使用以下命令记录结果: 但是我得到以下错误: 我怎样才能解决这个问题?我试图使用以下方法将其转换为float: 但是什么也无法工作。 问题答案: 您可以改用numpy.log。Math.log需要一个数字,而不是数组。

  • 我创建了一个python脚本,并想把它给我的朋友。所以我去youtube看了这个视频(在尝试了很多其他视频之后)。我运行它,得到一个薄层色谱库错误。没问题,我找到了解决这个问题的答案,就在这里的堆栈流中。我输入这段代码(将Python35更改为36,并确保我的薄层色谱位于它所说的相同位置)。我运行它,但得到一个不同的错误,在我的cmd提示符中说 我只是想把我的游戏发送给朋友<请帮忙。我正在使用Py

  • 我的customer.xsd如下所示。我正试图将它转换为pojo类schema_reference.4:未能读取模式文档“xml.xsd”,因为 1)找不到文件; 2)文件无法阅读; 3)文档的根元素不是。 我正在使用maven将XSD转换为Java clases。