我正在学习如何通过构建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-core
和babel-preset-env
将我的项目升级到Babel 7。
但是,这意味着构建命令的--require babel-register
部分不再起作用。让Babel 7编译我的Gulp / Wepback文件的解决方法是什么,这样我就可以继续使用import gulp from 'gulp'
了。
请原谅可怜的术语和不好的解释,我已经在Gulp 4独自待了这么久,就像重新开始一样!
更新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"
}
}
// index.js
require('@babel/register');
const subtask = require('./subtask').default;
exports.default = (cb)=>{
console.log("loaded index")
subtask()
cb()
}
这应该使babel处理其他需要的语句,以便导入工作我还在处理事情,所以如果我让整个过程工作,我会更新,但现在它可能会让你更进一步。
(也 - 我完全忘记在我的恐慌中添加.babelrc文件一段时间了)