Babel 7相当于babel-register?

问题描述 投票:0回答:1

我正在学习如何通过构建Webpack 4&Gulp 4样板来使用Webpack 4。 Gulp处理Sass等和Webpack来处理JS。

我跟着的教程给了我这个命令来运行构建过程:

NODE_ENV=production gulp build --require babel-register --gulpfile tasks

这是有道理的,然而,我所遵循的教程在示例中有Babel 6。我使用@babel/core@babel/preset-env而不是babel-corebabel-preset-env将我的项目升级到Babel 7。

但是,这意味着构建命令的--require babel-register部分不再起作用。让Babel 7编译我的Gulp / Wepback文件的解决方法是什么,这样我就可以继续使用import gulp from 'gulp'了。

请原谅可怜的术语和不好的解释,我已经在Gulp 4独自待了这么久,就像重新开始一样!

webpack gulp babel webpack-4 babel-register
1个回答
0
投票

更新17/04/2019

在分发教程并更新所有包之后,我使用了这个拉取请求中列出的更改

https://github.com/PascalAOMS/gulp4-webpack/pull/1


原帖06/04/2019

我正在研究听起来像类似的教程(https://css-tricks.com/combine-webpack-gulp-4/,并且遇到了类似的问题 - 它第一次遇到它抱怨的导入语句。

我创建了一个新的存储库来让import语句工作(暂时忽略webpack的东西)并让他们在this repository工作的@ babel / register中工作。

我尝试使用this documentation标志将它放入节点脚本定义中虽然它似乎不喜欢它(我会更多地调整一下)但是它为我工作了什么

--require
// package.json
{
  ...
  "scripts": {
    "use_import": "gulp --gulpfile tasks"
  },
  "author": "Marc Vousden",
  "license": "MIT",
  "devDependencies": {
    "@babel/core": "^7.4.3",
    "@babel/register": "^7.4.0",
    "@babel/preset-env": "^7.4.3"
    "gulp": "^4.0.0"
  }
}

  • 在gulp文件的顶部(在我的情况下,任务/索引)使用// index.js require('@babel/register'); const subtask = require('./subtask').default; exports.default = (cb)=>{ console.log("loaded index") subtask() cb() } 这应该使babel处理其他需要的语句,以便导入工作
  • 使用require语句来获取在其中使用import语句的脚本看起来require语句返回一个带有键/值对的对象用于默认导出,所以我不得不弹出.default到底

我还在处理事情,所以如果我让整个过程工作,我会更新,但现在它可能会让你更进一步。

(也 - 我完全忘记在我的恐慌中添加.babelrc文件一段时间了)

© www.soinside.com 2019 - 2024. All rights reserved.