草庐IT

javascript - webpack 为什么要构建 global.js?

我开始使用webpack,在我的第一个构建中,我注意到输出包含一个默认文件(索引1):build.js222kB0[emitted]main[1](webpack)/buildin/global.js509bytes{0}[built][2]./source/scripts/main.js105bytes{0}[built]+4hiddenmodules为什么包含这个文件?我没有任何依赖项需要接近我的build.js文件中出现的代码量。我预计输出中可能有10行代码,但我有8000行。我还注意到其他一些项目没有在输出中列出此文件。这是绝对必要的吗?我什至无法在文档中找到它。作为引用,我的

javascript - ( typescript )属性 'window' 在类型 'Global' 上不存在

我正在使用Mocha/Chai进行单元测试并模拟window如下:global.window={innerHeight:1000,innerWidth:1000};可以理解,TSLint提示:Property'window'doesnotexistontype'Global'几个问题...Global是内置的NodeJS/Typescript类型吗?我目前正在通过文件顶部的declarevarglobal消除警告...但这是处理此问题的最佳方式吗?我注意到我还可以通过以下方式解决警告:declareglobal{namespaceNodeJS{interfaceGlobal{windo

javascript - 客户关系管理 2013 : Global JavaScript

我需要让JavaScript文件在MSCRM2013安装中全局可用。我需要在每个页面/框架上使用它的功能。为实现这一点,我准备好进行任何不受支持的自定义(MSCRMOnline中不可用的情况除外)。您知道工作方法是什么吗?我找到了onearticle,但它基于MSCRM2011,不适用于2013版。非常感谢您提供任何线索。 最佳答案 您可以查看此导航解决方案的源代码:https://crm2013oneclicknavigation.codeplex.com/它注入(inject)一个由应用程序功能区调用的JavaScript,使其

javascript - 将 eval() 与自定义全局变量一起使用

有没有办法在调用eval()时指定要用于global的对象?(我不是在问如何进行全局eval()。)这行不通,但这说明了我想要的:varpseudoGlobal={};eval("x=12",pseudoGlobal);pseudoGlobal.x;//12重点是真正的全局绑定(bind)不受代码eval()中的隐式变量声明(即没有var关键字)的影响。至于eval.call(pseudoGlobal,"x=12")或eval.apply(pseudoGlobal,["x=12"]),一些解释器不会允许它。 最佳答案 当然,您可以用

javascript - Node.js 全局评估,抛出 ReferenceError

我正在尝试从Rhino书中学习JavaScript。我试图执行书中关于eval()的以下代码。我正在使用node.js(v0.10.29)来执行示例。vargeval=eval;//aliasingevaltogevalvarx='global';//twoglobalvariablesvary='global';functionf(){varx='local';//definealocalvariableeval('x+="changed";');//directevalsetsthelocalvariablereturnx;}functiong(){vary='local';//d

javascript - 这里发生了什么 global[{a}]=7

我有以下代码。a=7global[{a}]=7global[{a}]//returns7b[{a}]=7b[{a}]//returnsundefined老实说,我不知道发生了什么,它看起来像是一个以对象作为属性的对象,但后来我不明白为什么第二个示例是未定义的。 最佳答案 所以这就是我猜想发生的事情。正如您之前提到的,global与window对象相同。所以,当你在做的时候,全局[{a}]=7;它类似于global["[objectObject]"]=7然后你会得到答案::global[{}]as7。现在,为了这个b[{a}]=7b[

javascript - 在 JavaScript 中定义全局对象的实现独立版本

我试图在JavaScript中用一行定义global对象,如下所示:varglobal=this.global||this;上面的语句是在全局范围内。因此在浏览器中,this指针是window对象的别名。假设它是在当前网页上下文中执行的第一行JavaScript,global的值将始终与this指针的值相同,或者window对象。在CommonJS实现中,例如RingoJS和node.js,this指针指向当前的ModuleScope。但是,我们可以通过定义在ModuleScope上的属性global来访问global对象。因此我们可以通过this.global属性访问它。因此,此代码

javascript - VarName 未定义,请修复或添加/*global VarName*/Cloud9

目标阻止Cloud9IDE给我警告消息。背景我正在使用Cloud9IDE编写JavaScript,无论我在哪里使用另一个文件(在同一文件夹中)的类,我都会收到警告消息:VarNameisnotdefined,pleasefixoradd/*globalVarName*/现在这让我很烦恼,我想修复它。显而易见的解决方案是添加注释/*globalVarName*/并完成它,但我不认为这是一个好的做法。我尝试了什么经过研究,我发现了JavaScriptimportfunctionality.理论上,这将允许我执行类似import"myOtherJsFile"的操作并完成它。这将是该问题的一个

javascript - 拆分 knockoutjs

我的应用View模型变得非常大。如何正确地将其拆分为文件和命名空间?我是否创建第二个命名空间对象并将View模型作为参数传入?varBALL={};BALL.roll=function(avm){//functioncode}; 最佳答案 我个人的偏好是不拆分我的applyBindings调用,而是使用一个全局命名空间分支。我的理由是,要使多个绑定(bind)正确工作而不发生冲突,您需要非常小心,不要更改所选的目标dom元素。不幸的是,标记有一个随时间变化的坏习惯,这会让您以后在使用viewModel时遇到麻烦。我在一个非常大的KO

javascript - Node : Wrapping entire script in a function call

我一直在用nodejs编写如下模块:module.exports=function(logger,db,external,constants){return{//something}}最近我团队中有人建议将整个脚本包装在一个函数中以避免变量的全局混淆,即像这样:(function(){'usestrict';module.exports=function(logger,db,external,constants){return{//something}}}());据我所知,这种做法通常用于客户端代码。但是在nodejs的服务器端,这是必需的吗?我认为在nodejs中确实没有全局作用域,