TOGOUTECH

javascript - Babel 将 'import' 转译为 'require' ,但 'require isn' t 在 ecma5 中可用

coder 2024-05-16 原文

据我了解,使用 Babel 允许您通过转译在 ecma5 环境中使用 ecma6 javascript。但是,当我使用“导入”时,“导入”被转换为“需要”。 “require”不是 ecma5,需要库“require.js”。因此,您不能在没有附加依赖项的情况下使用“导入/导出”,对吗?

最佳答案

是的,Babel 只是为了翻译新的语言特性以与现代 javascript 引擎兼容。 Babel 不会编译为 require.js 模块导入语法。相反,它使用 Node.js 使用的 CommonJS 模块语法。因此,您可以直接运行代码,而无需在 Node.js 中进一步构建依赖项。

由于它一次对单个文件进行操作并且是一种直接的翻译,因此它不会决定您希望如何将其他文件的源代码包含到当前文件中。

也就是说,如果你打算在浏览器中使用它,你将需要一个支持 CommonJS 模块语句的构建系统或 bundler :

  • 参见 https://babeljs.io/docs/setup/#installation获取许多典型构建配置的列表
  • Browserify 和 Webpack 是 Javacript 生态系统中最受欢迎的两个
  • 这些系统通过在任何引用“require”的地方注入(inject)文件来“捆绑”您的 javascript 代码,因此通常会生成一个输出 js 文件,您可以在 ecma5 中运行该文件

关于javascript - Babel 将 'import' 转译为 'require' ,但 'require isn' t 在 ecma5 中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38166498/

有关javascript - Babel 将 'import' 转译为 'require' ,但 'require isn' t 在 ecma5 中可用的更多相关文章

  1. c# - 错误 APPX3212 : SDK root folder for 'Portable 7.0' cannot be located - 2

    我正在尝试使用TeamCity/MSBuild构建我的解决方案。这是一个WebAPI项目,它与移动客户端共享PCL中的一些实体。我看到关于在构建服务器上安装PCL引用库有一些注意事项,我想我已经整理好了(BuildingPortableClassLibraryProjectinbuildserverfails)但是,我在构建可移植类库的过程中遇到如下错误:[11:20:49][Doctrina.Pcl.Entities\Doctrina.Pcl.Entities.csproj]_GetSdkToolPaths[11:20:49][_GetSdkToolPaths]GetSdkPrope

  2. c# - VS2010 'Show Derived Types' 类 View 中缺少选项 - 2

    我正在VisualStudio2010中处理VisualC#项目,并在类View中浏览各种类型。根据this文档中,类View设置菜单中应该有一个类似于“显示基本类型”选项的“显示派生类型”选项。然而,它似乎不见了。我还没有设法找到任何错误报告或对这个问题的引用,所以我想知道我是否只是遗漏了一些东西。 最佳答案 我在VisualStudio2010中看到它,这是一个具有派生类型的C++项目。但是,在使用派生类型提到的C#项目中,未提供此选项。我正在检查一个没有派生类型的项目,看看这是否会导致该选项被禁用。编辑:似乎没有派生类型的项目

  3. c# - 从具体化 'System.Guid' 类型到 'System.Int32' 类型的指定转换无效 - 2

    从物化“System.Guid”类型到“System.Int32”类型的指定转换无效。我们有几个WCF服务,它们具有Multiple并发模式和Single的InstanceContextMode。我们的架构专注于使用基于构造函数的依赖注入(inject)的松散耦合模型。这又是使用Unity2.0实现的(每个服务的web.config都在统一容器部分中定义的接口(interface)和类型之间进行映射)。我们的依赖项之一是使用EntityFramework4与MSSqlServer通信的DAL程序集(数据访问层)。与数据库对话的类也包含在统一映射中。当我们运行集成测试时,一切都很好。但是

  4. c# - ASP.NET Core 浏览器链接 `Unable to get property ' 文件'` - 2

    在MicrosoftVirtualAcademy类(class)中'IntroductiontoASP.NETCore(formerlyASP.NET5)',视频3,在39:00,他们演示了BrowserLink如何在Edge的F12工具和VisualStudio之间同步代码选择。我还没有看到开箱即用的相同功能。我不知道是否有设置或特殊功能来启用此功能。如果有,它没有在类(class)视频中显示,但视频又是几个月前的了。我以前从未见过此功能。BrowserLink从Edge连接到VisualStudio,在VS中的BrowserLinkDashboard中可以看到。没关

  5. c# - WebProxy 错误 : Proxy Authentication Required - 2

    我使用以下代码从互联网上获取html数据:WebProxyp=newWebProxy("localproxyIP:8080",true);p.Credentials=newNetworkCredential("domain\\user","password");WebRequest.DefaultWebProxy=p;WebClientclient=newWebClient();stringdownloadString=client.DownloadString("http://www.google.com");但出现以下

  6. c# - Visual Studio 2017 xaml 设计器不可用 - 2

    使用VisualStudioProfessional2017(版本15.226430.16),当我打开我开发的桌面UI的xaml文件时,我再也看不到xaml设计器(我只能看到原始xaml代码)。这是新行为,可能是由于我进行了系统清理,所以我可能删除了我需要的SDK或类似的东西?是否有任何我可以检查警告等的VisualStudio错误日志? 最佳答案 坦白说,你的情况和我的不一样。在我的情况下,这是因为Resharper。也许这对其他人有用。要做的是检查Resharper选项>环境>性能指南>禁用XAML设计器。必须设置为“忽略”或“

  7. c# - 无法将 lambda 表达式转换为类型 'System.Delegate' 因为它不是委托(delegate)类型? - 2

    这个问题在这里已经有了答案:Cannotconvertlambdaexpressiontotype'System.Delegate'(4个答案)关闭9年前。我遇到了一个我似乎无法弄清楚的问题,尽管这是Stackoverflow上的一个标准问题。我正在尝试使用以下代码异步更新我的Bingmap(请注意,这是来自旧的Silverlight项目并且似乎在WPF中不起作用)_map.Dispatcher.BeginInvoke(()=>{_map.Children.Clear();foreach(varprojectedPininpinsToAdd.Where(pin=&

  8. c# - 命名空间 'System.Management' 中不存在“ManagementClass” - 2

    您好,我正在使用这种方法获取mac地址publicstringGetMACAddress(){System.Management.ManagementClassmc=default(System.Management.ManagementClass);ManagementObjectmo=default(ManagementObject);mc=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionmoc=mc.GetInstances();foreach(va

  9. c# - 为什么 'using' 提高了 C# 性能 - 2

    在大多数情况下,C#编译器似乎可以自动调用Dispose()。像大多数using模式的情况一样:publicvoidSomeMethod(){...using(varfoo=newFoo()){...}//Fooisn'tuseafterhere(obviously)....}因为foo没有被使用(这是一个非常简单的检测)并且因为它没有作为参数提供给另一个方法(这是一个适用于许多用例并且可以扩展的假设),编译器可以自动并立即调用Dispose(),而无需开发人员要求。这意味着在大多数情况下,如果编译器做了一些聪明的工作,using就毫无用处。IDisposable对我来说似乎低

  10. c# - 'if' 语句条件中的 Lambda 表达式 - 2

    我是C#的新手,但根据我的理解,这段代码应该可以工作。为什么它不起作用?这是我的代码示例。List<Car>cars//Thishasmanycarsinitializedinitalreadyif(()=>{foreach(Carcarincars){if(car.door==null)returntrue;}}){then.......}简单地说,我想让代码做的就是在任何汽车没有门的情况下运行if语句。尝试编译后出现此错误:Cannotconvertlambdaexpressiontotype'bool'becauseitisnotadelegat

随机推荐

  1. c# - 'if' 语句条件中的 Lambda 表达式 - 2

    我是C#的新手,但根据我的理解,这段代码应该可以工作。为什么它不起作用?这是我的代码示例。List<Car>cars//Thishasmanycarsinitializedinitalreadyif(()=>{foreach(Carcarincars){if(car.door==null)returntrue;}}){then.......}简单地说,我想让代码做的就是在任何汽车没有门的情况下运行if语句。尝试编译后出现此错误:Cannotconvertlambdaexpressiontotype'bool'becauseitisnotadelegat

  2. c# - 使用 LINQ 查找具有特定属性名称和值的 XElement - 2

    XDocumentxDocument=XDocument.Load("...");IEnumerable<XElement>elements=xDocument.Element("lfm").Element("events").Elements("event");try{foreach(XElementelminelements){comm.Parameters.AddWithValue("extID",elm.Element("id").Value??"");c

  3. C# 在 lambda 表达式中声明变量 - 2

    我想像这样做一个简单的lambda表达式:IList<MyEntity1>list=GetSomeList();MyEntity1result=list.SingleOrDefault<MyEntityList>(e=>GetMyEntity2(e)!=null&&GetMyEntity2(e).Id!=null&&GetMyEntity2(e).Id>0);这很完美,但是从MyEntity1获取MyEntity2并不是那么简单,所以我想在lambda表达式中声明一个变量来保存MyEntity2并使用它,而不是一次又一

  4. c# - 如何将图像流嵌入到 MailMessage - 2

    我在将Properties.Resources中的图像嵌入到MailMessage时遇到了一些困难,目前该图像未显示在我收到的电子邮件中。我已经成功地从目录位置嵌入了图像,但如果图像来自内存/应用程序,我会更喜欢。这是我正在做的事情的简化版本。Bitmapb=newBitmap(Properties.Resources.companyLogo);MemoryStreamlogo=newMemoryStream();b.Save(logo,ImageFormat.Jpeg);MailMessagenewEmail=newMailMessage(from,to);newEmail.Subj

  5. c# - 将中值方法添加到列表 - 2

    我想重写C#中的List对象,以便添加像Sum或Average这样的Median方法。我已经找到了这个功能:publicstaticdecimalGetMedian(int[]array){int[]tempArray=array;intcount=tempArray.Length;Array.Sort(tempArray);decimalmedianValue=0;if(count%2==0){//countiseven,needtogetthemiddletwoelements,addthemtogether,thendivideby2intmiddleElement1=tempA

  6. c# - 文件作为附件发送后被锁定 - 2

    我正在发送一个文件作为附件://Createthefileattachmentforthise-mailmessage.Attachmentdata=newAttachment(filePath,MediaTypeNames.Application.Octet);//Addtimestampinformationforthefile.ContentDispositiondisposition=data.ContentDisposition;disposition.CreationDate=System.IO.File.GetCreationTime(filePath);disposit

  7. c# - 如何在不知道封闭泛型类型的情况下访问泛型属性 - 2

    我有一个通用类型如下publicclassTestGeneric<T>{publicTData{get;set;}publicTestGeneric(Tdata){this.Data=data;}}如果我现在有一个对象(来自某个外部源),我知道它的类型是某个封闭的TestGeneric,但我不知道TypeParameterT。现在我需要访问数据我的对象。问题是我无法转换对象,因为我不确切知道哪个关闭的TestGeneric。我用//thxtohttp://stackoverflow.com/questions/457676/c-reflection-check-if-a-c

  8. c# - 获取 double[,] 矩形数组的 double[] 行数组 - 2

    假设你有一个像这样的数组:double[,]rectArray=newdouble[10,3];现在您希望第四行作为3个元素的double[]数组而无需执行以下操作:double[]fourthRow=newdouble[]{rectArray[3,0],rectArray[3,1],rectArray[3,2]};有可能吗?甚至使用Marshal.Something方法?谢谢! 最佳答案 您可以使用Buffer.BlockCopy方法:constintd1=10;constintd2=3;constintdoubleSize=8;

  9. c# - 为什么 C# 设计者要为 'using' 关键字附加三种不同的含义? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭12年前。using关键字具有三种不同的含义:类型/命名空间别名命名空间导入确保调用Dispose的语法糖文档将前两个定义称为指令(我猜这意味着它们本质上是预处理),而最后一个是语句。尽管它们在语法上有所区别,但为什么语言开发人员会通过附加三种不同的含义来使关键字的语义复杂化?例如,(免责声明:在我的脑海中,肯定有更好的例子)为什么不添加像alias和import

  10. c# - 如何证明 Dictionary 的 TryGetValue 的双重检查锁定模式不是线程安全的 - 2

    最近我看到一些C#项目在Dictionary上使用双重检查锁定模式。像这样:privatestaticreadonlyobject_lock=newobject();privatestaticvolatileIDictionary<string,object>_cache=newDictionary<string,object>();publicstaticobjectCreate(stringkey){objectval;if(!_cache.TryGetValue(key,outval)){lock(_lock){if(!_cache.TryGetValue