草庐IT

babel-preset-env

全部标签

javascript - babel 装饰器和 TypeScript 的一样吗?

我经常使用TypeScript编写代码,但很少使用babel,我知道TypeScript如何在装饰器上工作,而babel也支持装饰器,它们的行为是否相同? 最佳答案 是的,它们是相同的,从某种意义上说它们产生相同的行为,但它们有不同的实现。两者都遵循ECMAScript规范并尽早为我们带来功能。您可以预期它们两者上的内容将来可能会受到节点或浏览器的支持。代码:functionf(){console.log("f():evaluated");returnfunction(target,propertyKey,descriptor){c

javascript - Babel 不转译从 'node_modules' 导入的模块

我在从node_modules导入模块时遇到问题。由于某种原因,Babel不会转译从node_modules导入的模块,而是转译从src导入的模块。这是一个示例repo:https://github.com/NikitaKA/babeltestma​​in.js//resultcodecontainsconstandlet,butitshouldn't.:(index.jsimportqsfrom'query-string;//nottranspiledimportlibfrom'./lib'//transpiledconstquery=qs.parse(window.location

javascript - 我可以在 ES6 的生产环境中使用 Babel Require Hook 吗?

我有一个使用ES6的Node应用程序。我正在使用Babel用于转译。据我了解,例如使用像Gulp这样的构建系统或使用requirehook.RequireHook方法似乎对我很有吸引力,因为我将能够将我的源文件保留在ES6中,但仍然使用nodeserver.js执行它们,而无需使用某些构建系统。这至少对开发来说似乎非常有用,我主要担心的是在生产中使用这种方法。每次用户发出请求都会受到惩罚吗?这究竟是如何运作的?对于上下文,我将它与Express应用程序一起使用。 最佳答案 Doesithaveanypenaltyhiteveryti

javascript - 是否可以在一个项目中使用多个 Babel 预设?

我正在开发一个React-Native应用程序,它是使用Expo安装的,使用以下代码创建.babelrc配置:{"presets":["babel-preset-expo"],"env":{"development":{"plugins":["transform-react-jsx-source"]}}}最近我遇到了另外2个需要安装其他类型的babel预设的库,这些库名为:“react-native”和“flow”。问题:如何合并3个预设? 最佳答案 将它们作为项目添加到预设数组中{"presets":["babel-preset-

javascript - Babel 的有趣导入

因为我知道目前没有浏览器实现ES6模块接口(interface)——但转译器实现了——我用这个简单的例子测试了babelimport{getUsefulContents}from"file.js";getUsefulContents("http://www.example.com",data=>{doSomethingUseful(data);});我只是想看看它是如何转换这些行的。令我惊讶的是,它产生了以下输出:"usestrict";var_fileJs=require("file.js");(0,_fileJs.getUsefulContents)("http://www.exa

javascript - Babel 已经做了 Object.create(superClass.prototype) 为什么还要用 setPrototypeOf 来继承?

将以下代码发布到BabelREPLclassTest{}classTest2extendsTest{}你得到了这个inherits函数function_inherits(subClass,superClass){if(typeofsuperClass!=="function"&&superClass!==null){thrownewTypeError("Superexpressionmusteitherbenullorafunction,not"+typeofsuperClass);}subClass.prototype=Object.create(superClass&&superC

javascript - 在 JavaScript 项目中将 NODE_ENV 与多个环境一起使用

我从事许多在Express服务器上运行的项目,无论它们是前端(即React.js)代码库还是服务器端Node.js代码库。很多时候使用前端codebases我会加载基于NODE_ENV的条件配置,例如前端请求的restfulAPI的URL.我也多次使用NODE_ENV有条件地加载诸如服务器端Node.js项目的数据库配置之类的东西。在一个由开发、暂存和生产(3个环境)组成的项目中,我通常会设置我的代码以根据设置为这3个环境中的任何一个的NODE_ENV加载配置(也许还有“本地”)。我最近在做一个将生产环境称为“实时”的项目。当我决定为此环境设置NODE_ENV=live时,一位同事指出

javascript - 无法正确访问 NODE_ENV 环境变量,这是 node.js 的错误吗?

我正在访问NODE_ENV环境变量以打开node.js服务器中的一些调试功能。它曾经像魅力一样工作,但现在我面临着一些非常奇怪的事情。这是我正在做的://checkiftheenvvarisOKconsole.log(process.env.NODE_ENV);//WTF???if(process.env.NODE_ENV=="development"){console.log("ok");}else{console.log("nope");}//sanitycheckvarstr="development";if(str=="development"){console.log("ok

javascript - 使用 babel.js 而不是 browserify 编译成 bundle

我从babel.js开始使用JavaScriptES6功能,但是我遇到了一个问题我目前正在使用browserify构建我的应用程序,并使用以下命令进行react。browserify-treactifyapp/main.js-opublic/scripts/bundle.js现在我想在babel中使用等效命令来捆绑我需要的模块,用ES6编写到bundle.js。这不起作用,只是给我一个ES5版本的main.js文件。babelapp/main.js-opublic/scripts/bundle.js但是我可以使用babel将我的bundle.js文件编译成ES6版本,有2个命令brow

javascript - 将 process.env 变量从 Node 传递或使用到 reactjs

如何将process.env变量从node传递或使用到reactjs?例如我有这个constnodeEnv=process.env.NODE_ENV||'发展'在我的开发中并且它有效(我认为因为它是开发而且我确实有后备'development'。但是当我们将它推送到我们的暂存服务器并设置NODE_ENV变量时,它只在第一次加载时起作用,但随后就不起作用了。我想我确实得到了这个,因为起初它由Node提供服务并且它可以访问服务器变量但之后它将是reactjs服务于页面(对吗?)并且它无法访问服务器的东西。那么,如何在不对它进行硬编码的情况下将变量添加到reactjs(因为我们最终会有不同的