问题标签 [babelify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
25 浏览

javascript - Watchify 编译一次错误然后停止

我在 Windows 10 x64 上,源位于 NFS 单元上。

当我运行脚本时,它给了我这个:

然后它就停止了。

带有browserify的“构建”脚本就像一个魅力,所以它不是我的Javascript代码中的语法错误,我想。

我的 package.json:

.babelrc:

0 投票
1 回答
15 浏览

javascript - 使用 browserify + babel 的 gulp.task 语法问题

这是我在这个地方的第一个查询,我正在学习编程,并且我正在学习从 2016 年开始的课程,他们在其中实施 babel gulp browserify sass,但是我在尝试使用 babel 进行转换时遇到了问题吞咽。任务。我做了一些研究,他们提到语法已经改变,但我无法让它工作。

其他任务我没有放在这里,因为它们不是必需的,但语法是这样的。感谢您的帮助,我知道这很简单,因为我不得不处理其他错误,因为目前尝试做一个过时的教程对我来说是一个挑战,因为我不了解 JavaScript。

在我的 .js 文档中,我有以下语法:

在 CMD 中显示的错误是:

0 投票
1 回答
85 浏览

javascript - Browserify 和 Babelify 给出 {classname} 未定义错误

鉴于此 TS 文件:

我正在使用如下所示的 Grunt 任务进行转换:

我运行一个简单的 HTML 文件,如下所示:

这导致Uncaught ReferenceError: Rob is not defined

我在 SO 上看到过这样的几个问题,但这些问题似乎与滥用上下文有关(例如,在不合适的情况下,不是 this-ing 的东西或 this-ing 的东西)。这里的上下文无关紧要;我只想在控制台中看到我的 console.log。

我的package.json样子是这样的:

我的步骤是

  • 核弹node_modules
  • 运行npm install(没有警告或错误)
  • 运行grunt rob(没有警告或错误)

这会输出一个 JS 文件,在我看来是我想要的,包括这个片段:

Chrome 还告诉我rob.js加载正常,当 HTML 页面加载后,我可以在源资源管理器中看到内容。

我的问题很简单:为什么在这种情况下会出现参考错误?

编辑:作为已接受答案的补充:如果我编辑 ts 以调用自身(作为其自己的入口点):

然后一切都按应有的方式运行——这很适合我的用例。

0 投票
0 回答
358 浏览

node.js - 如何让 babelify 10 以浏览器为目标

我想要的是

  1. 使用最新版本的库。
  2. 让它在 IE 11 中运行。

我正在构建一个反应应用程序,为了运行我需要@testing-library/react 的测试。为了在浏览器中运行测试,我需要 browserify。为了在我支持的每个浏览器中运行测试,我需要 babelify。然而,无论我尝试什么,babelify 什么都不做(而且 IE 11 不支持它生成的 ... 或 => 语法)。

这是 package.json 的相关部分(可能不需要某些依赖项):

看起来应该可以工作的代码:

我试过字符串 babelify 和 require("babelify")。我试过 require("babelify").configure。我尝试在工作目录中有一个名为 babel.config.json、.babelrc 和 .babelrc.json 的文件。我在工作目录(格式不同)中尝试了 babel.config.js。(这些文件的内容已被排除以防止 tl;dr)。

生成的文件没有不同(或为空)并且没有错误。唯一给我一个错误的是:

所以我将“env”更改为“@babel/env”并且 babelify 什么也没做......转换不能在捆绑或管道之后进行,如果我尝试在此之后运行 @babel/core(输出不同的文件名),就会出现一个竞争条件,因为 browserify 还没有完成文件的写入。

我不会完全反对切换工具,但我认为 babelify 应该能够按预期工作。也许 babelify 不支持我正在使用的较新版本?我找不到针对浏览器的 babelify 文档,示例/其他堆栈溢出是旧的或不起作用。有太多可能的组合可以尝试。请注意,这在 Chrome 中运行良好,因此 browserify 部分运行良好。

0 投票
0 回答
359 浏览

javascript - Browserify + Gulp + Babelify ~ import' 和 'export' 可能只出现在 'sourceType: module

我正在做一个项目,想使用 gulp 来自动化一些任务,编译 js 和其他代码。我正在使用BrowserifyBabelify结合babel-eslint将我的源类型设置为模块但是当我尝试在我的 main.js 文件中导入 node_modules 时我仍然得到这个 ParseError

ParseError:“import”和“export”可能只出现在“sourceType:module”中

有没有办法来解决这个问题?

我的 gulp 文件

包.json

eslint.rc

0 投票
0 回答
94 浏览

javascript - 试图加载 vue-agile 但 ParseError

我正在使用 vuejs 构建一个网站,并尝试加载敏捷 vue 以在 vue 应用程序中全局使用。所以我在 main.js 中添加了以下代码:

稍后我将 browserify 与 babelify 和 envify 一起使用来创建一个 bundle.js 文件。并使用以下代码进行编译:

使用 package.json 文件中的 babelify 预设 'babel-preset-env' 设置。我收到以下错误:

我通过添加 esmify 摆脱了错误:

但我遇到了一个新错误:

我一直在寻找解决方案,我认为 browserify 没有转换所有文件(只有 topfiles,而不是依赖项)有问题,但我还没有找到如何强制它。感谢所有帮助。

0 投票
1 回答
62 浏览

google-chrome - Chrome 断点不适用于 browserify 和 babelify

我正在尝试在 chrome 上调试我的应用程序。我以前使用打字稿,它工作正常。但是当我切换到带有 browserify 和 babelify 的 javascript 时,断点不再被触发。我可以看到原始文件源。我可以放断点。但它并没有就此止步。我也尝试在转译文件上放置断点,但这也不起作用。我在 Microsoft Edge 上尝试过,它也不在那里工作。这是我用来编译我的 javascript 的代码。顺便说一句,debugger;它可以工作。但我不想这样做,因为我会忘记删除它们。

0 投票
1 回答
496 浏览

javascript - ParseError: 'import' 和 'export' 可能只出现在 'sourceType: module', browserify

我正在使用django-compressor,我想在我的项目中使用es5/es6功能。我将预编译器选项设置如下:

正如您所注意到的, browserify是全局安装的,而babelify@babel/preset-env是在项目中本地安装的。

现在从文档@babel/preset-env中推荐使用的预设,但我收到以下错误:

据我了解,当使用babel/preset-env时,您不需要任何其他前面的预设,例如babel-preset-es2015等,对吗?如果是,这个问题的可能原因是什么?

0 投票
0 回答
21 浏览

javascript - Gulp - 输出多个单独的 JS 文件

我正在使用 Gulp 4,并且目前有以下代码可以按预期工作,但是我也希望对多个文件执行相同的操作,而不是将它们捆绑在一起。理想情况下,我想对名为文件夹中的所有文件运行相同的以下过程,src/js/pages/[pagename].js并将它们单独输出到名为dist/js/pages/.

我已经寻找了几个小时来找到解决方案并准备了尽可能多的文档,但我无法解决。我尝试.bundle从链中删除,但这意味着pipe不起作用。

0 投票
0 回答
377 浏览

babeljs - 当 babelify global 为真时;SyntaxError: 'import' 和 'export' 可能只出现在 'sourceType: "module"'

我正在使用带有 babelify 的 browserify,并且一些单元测试使用 chai-as-promised。在 IE11 中制作并运行捆绑包时,会出现以下错误:

语法错误 node_modules/chai-as-promised/lib/chai-as-promised.js:5:1

我做了一些阅读,似乎global需要提供 babelify 选项,以便它实际上从 node_modules 转换脚本。我添加了以下内容:

但是现在正在工作的导入不再在global: true指定的时间内一直工作:

SyntaxError: 'import' 和 'export' 可能只出现在 'sourceType: "module"' (2:0) 时解析文件:C:\Users\leaha\Desktop\git\design-system\src\js\polyfills\ index.js