javascript - Babel (gulp-babel) Uncaught ReferenceError: require is not defined
问题描述
我正在使用gulp
, gulp-babel
,这会导致错误。
我不知道如何使用模块(ES6),因为当我尝试将另一个文件导入其中时,它会显示以下消息:
未捕获的 ReferenceError:未定义要求
我知道问题出在代码转换之后,因为我尝试链接到未转换的代码,并且效果很好。
这些是我的文件。
app.js *(我想使用导入来获取另一个模块...)
注意:require
从 CommonJS 项目中使用,也不起作用。
import a from "./comun.js"; //This doesn't work
class Player{
contructor(){...}
}
comun.js (我想从哪里得到一个常量)
export const a = 1;
index.html (Html 文件) (文件转译)
<script src="./dist/js/app.js" type="module"></script>
这是我的gulpfile.babel.js(它工作得很好)
const gulp = require ('gulp');
const babel = require('gulp-babel');
function transpileToES5() {
return gulp.src('./assets/js/*.js')
.pipe(babel())
.pipe(gulp.dest('./dist/js/'));
}
gulp.task('default', function () {
return gulp.watch(['./assets/js/*.js'], transpileToES5)
});
最后。这是我的.babelrc文件(我尝试使用 commonjs、systemjs、amd ......没有任何效果)
{
"presets" : ["@babel/env"],
"plugins": ["transform-es2015-modules-commonjs"]
}
这是错误:
这是导致错误的行:
解决方案
我有完全相同的问题。你必须使用 Browserify + Babelify + Gulp。更多信息在这里:
return browserify({
entries: ['./src/js/index.js'],
debug: true,
transform: [
babelify.configure({ presets: ['@babel/preset-env'] }),
],
})
.bundle()
.pipe(source('index.js'))
.pipe(buffer())
.pipe(sourcemaps.init({ loadMaps: true }))
推荐阅读
- go - 在 Go 应用程序中使用默认凭据时的 GCP 权限问题
- python - 使用 Tkinter 在 Python 中拖动小部件集合
- android - (嵌套)ScrollView 不滚动到底部
- sql - 基于两次每日更新列
- java - 如何从 Codename one 的 ConnectionRequest 获得来自 http 和不安全 https 站点的响应?Android 10 中的 http 和 https 问题(在 Google Pixel 中)
- java - 什么 (s.charAt(low) != s.charAt(high)) {" and " int high = s.length() - 1;
- c++ - C++ DetourAttach
- php - 无法连接到 docker-compose 中的数据库服务器(php 和 MariaDB)
- java - 启动 java 方法时在我的 mac 上获取 NSException
- android - 相机应用的全景解决方案