草庐IT

安全模块

全部标签

javascript - 如何在requirejs、javascript中的不同模块之间共享数据

我想通过创建一个模块在不同模块之间共享一些数据,例如调用dataService,将一个变量放入其中,然后将该模块作为依赖项插入其他模块中。这是代码(不起作用):define('dataService',function(){varquotes=[];return{quotesArray:quotes,};});require(['dataService'],function(dataService){dataService.quotesArray{1,2,3};//settingthequotesvariable});define('otherModule',['dataService

javascript - 我如何在路径中需要带有模式的模块?

如何在nodeJS中包含所有文件require('./packages/city/model/cities')require('./packages/state/model/states')require('./packages/country/model/countries')像一样require('./packages/*/model/*')就像grunt正在加载文件一样。 最佳答案 你不能(或者至少你不应该)为此,您必须重载Node的原生require函数,这是非常不可取的。CommonJS模式对你来说可能看起来很乏味,但它是

javascript - 为什么使用 '*' 作为 postMessage 的 targetOrigin 存在安全风险?

当对postMessage()方法的targetOrigin使用通配符时,我很难理解安全问题。您调用postMessage()的窗口是否已经有一个我们要将数据发送到的来源?怎么会有人能够干涉它?使用window.location.origin将targetOrigin设置为窗口的原点是否不好?我理解在接收端检查事件源的重要性(如图here所示),但我似乎无法理解为什么发送端使用通配符作为targetOrigin是不好的当窗口已经有一个特定的原点时。 最佳答案 这本身不是风险。这只是意味着任何人都可以将您的内容嵌入到框架中并阅读您通过

javascript - Node.js 监听模块加载

在前端使用RequireJS,我们可以使用以下方法监听模块何时加载到运行时模块缓存中:requirejs.onResourceLoad=function(context,map,depArray){console.log('onResourceLoad>>>','map.id:',map.id,'context:',context);};我们可以用Node.js以某种方式做到这一点吗?对调试很有用。尤其是当服务器根据配置加载不同文件(或以不同顺序)时。我假设这可能记录在https://nodejs.org/api/modules.html但我什么也没看到 最

javascript - 在 Webpack 2 中使用 bower 模块

我是Webpack的新手,我是从Webpack2开始的。我无法从bower_components文件夹中使用require或import模块。是否可以这样做?如果可以,您能否提供一个示例或其他内容。这是我的webpack.config文件: 最佳答案 您可以配置resolve.modules还要查看bower_components。resolve:{modules:['bower_components','node_modules']}这将首先查看bower_components,如果找不到模块,它将查看node_modules。如

javascript - 如何导出 ES6 类并在另一个模块中构造它的实例?

使用Node.js版本7.7.2,我想从这样的模块中定义和导出ES6类://Foo.jsclassFoo{construct(){this.bar='bar';}}module.exports=Foo;然后将该类导入另一个模块并构造该类的实例,如下所示://Bar.jsrequire('./foo');varfoo=newFoo();varfooBar=foo.bar;但是,这种语法不起作用。我尝试做的事情是否可行?如果可行,实现此目标的正确语法是什么?谢谢。 最佳答案 您必须为此使用常规Node模块语法。您的示例代码中有一些错误。

javascript - 是否可以在 vue-router 中锁定除一条以外的所有路由?安全吗?或者我应该使用另一种方法?

我想做一个在线考试,这个考试有5页,有一个倒计时计时器(120秒),每页有4个问题。120秒后,用户将自动转到下一页,或者他们可以在此之前单击下一步按钮。Laravel5.4和VueJs,用户回答的每个问题都有一个Ajax请求。我想要的是阻止用户看到其他页面。每个页面最多只能显示120秒。用户不应该能够点击后退按钮并查看之前的页面。这可能吗?我想用Vuejs和vue-router创建这个应用程序,但我不知道如何用vue-router实现它,我做了一些研究,但没有得到太多结果!或者也许我不应该使用vue-router,而是使用我自己的简单路由器,例如:$("#page1").show()

javascript - Webpack 和 AWS Lambda 问题 - 模块上缺少处理程序

我使用ES6、babel和Webpack2来捆绑AWSLambda。然后我使用本地AWSSAM运行/测试它。当我点击api时出现以下错误-Handler'handler'missingonmodule'dist/main'这是我的webpack.config.js-constpath=require('path');module.exports={entry:'./index.js',output:{path:path.resolve(__dirname,'dist'),filename:'main.js',libraryTarget:'commonjs'},module:{rules

javascript - "Error: Arguments array must have arguments."应用模块

在我的Angular应用程序中运行ngserve并成功编译时,我开始在浏览器控制台中收到以下错误。AppComponent_Host.ngfactory.js?[sm]:1ERRORError:Argumentsarraymusthavearguments.atinjectArgs(core.js:1412)atcore.js:1491at_callFactory(core.js:8438)at_createProviderInstance(core.js:8396)atresolveNgModuleDep(core.js:8371)atNgModuleRef_.push../node

javascript - esm 不解析模块别名

所以我正在使用包esm和module-alias,但似乎esm没有注册模块别名的路径。这是我加载服务器文件的方式:nodemon-resm./src/index.js8081这是我的index.js文件的顶部:import"module-alias/register"import"@/setup"import"@/setup"不起作用,而require("@/setup")起作用。 最佳答案 问题是esm在解析文件时试图在加载任何其他模块之前处理所有import语句。在处理import语句时,它使用Node的内置require而不是