2019 年 17 月 4 日更新
在 fork 教程并更新所有包之后,我使用了此 pull request 中列出的更改
https://github.com/PascalAOMS/gulp4-webpack/pull/1
原帖 06/04/2019
我正在研究听起来像一个类似的教程(https://css-tricks.com/combine-webpack-gulp-4/并且遇到了类似的问题 - 第一次遇到它抱怨的导入语句。
我创建了一个新的存储库来让导入语句正常工作(暂时忽略 webpack 的东西),并让它们在这个存储库中使用 @babel/register工作,从这个文档工作。
我尝试使用标志将它放入节点脚本定义中,--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()
}
- 在 gulpfile 的顶部(在我的情况下是任务/索引)使用
require("@babel/register")
这应该使 babel 处理其他 require 语句,以便导入工作
- 使用 require 语句来获取在其中使用 import 语句的脚本似乎 require 语句返回一个带有默认导出的键/值对的对象,所以我不得不在最后弹出 .default
我仍在处理事情,所以如果我让整个过程正常工作,我会更新,但现在它可能会让你走得更远一点。
(另外 - 我完全忘记在我的恐慌中添加一个 .babelrc 文件一段时间)