Eli*_*ise 5 node-modules browserify babeljs babelify
我正在使用 browserify 和 babelify 来转译 JS 文件。JS 文件require()是 中的组件node_modules,我也想对其进行转译。
根据babelify 的 GitHub 上的常见问题解答,为了实现这一点,我应该使用global和选项来指定还应该转译的ignore文件夹:node_modules
browserify().transform("babelify", {
global: true,
ignore: /\/node_modules\/(?!app\/)/
});
Run Code Online (Sandbox Code Playgroud)
我browserify通过命令行使用,但不知道如何传递这些选项。我也对这些选项是否特定于browserifyor感到困惑babelify。
这是我正在运行的命令:
browserify -t [ babelify ] input.js > output.js
Run Code Online (Sandbox Code Playgroud)
这是我的.babelrc
{
"presets": [
[ "@babel/preset-env",
{
"targets": "defaults, ie >= 11"
}
]
],
"plugins": [ "@babel/plugin-proposal-object-rest-spread" ]
}
Run Code Online (Sandbox Code Playgroud)
尽管自述文件提到了它,但我在选项中找不到global任何记录。我尝试给它提供我想要转译的模块名称(流畅),但是得到了browserifybabelify--global-transformUnexpected object exported by the fluent package. Expected a transform function.
看来普通的正则表达式在命令行上是不可能的。
但你可以发挥创意并使用相反的方法only:
browserify -t [ babelify --global --only [ your-main-js-directory node_modules\/app ] --presets [ @babel/preset-env ] ] input.js > output.js
Run Code Online (Sandbox Code Playgroud)
您可以像这样指定更多包:
--only [ your-main-js-directory node_modules\/app node_modules\/another-app ]
Run Code Online (Sandbox Code Playgroud)