在 ejs 中使用节点模块/.js函数
Using node modules/.js functions in ejs
我最近开始使用JavaScript和Node,我在处理.ejs文件时遇到了麻烦。
我正在尝试在我的页面中实现一个按钮,该按钮在文本区域中插入一个字符串并运行一个函数来评估该字符串是否是 xml 代码(更准确地说是 Vast Tag,但这不是重点。
所以,我有这样的东西:
<div class="clear vastClass">
<h3> Vast Tag </h3>
<div class="vastClass" hidden>
<div>
<p>Please validate your code!</p>
<input type="button" id ="buttonVast" value="Validate">
</div>
<textarea id="vastTag" name="vastTag" class="form_creatives" value="">Insert you Vast Tag</textarea>
</div>
</div>
<script>
$("#buttonVast").click(function(){
// TODO
}
</script>
所以这里有几个问题:
我正在尝试使用节点模块 xml2js 查看检查文本,我已经在线阅读了一些内容(我不知道他们是否正确)。 例如:
- 浏览器正在运行 .ejs 文件,所以如果我尝试要求('xml2js'),它将无法理解
- 我尝试使用浏览器化包,但我看不到让它工作
- 我只能调用一个文件.js如果该文件在我的公共资产文件夹中。(实际上,我尝试访问的任何文件都会收到404页面未找到异常)
所以,我的问题是,如果有人对一种方法有任何提示,我可以在我的脚本中使用节点模块,或者 If 可以在文件中定义一个函数.js然后将这个函数调用到脚本中,或者如果有人知道浏览器是如何工作的,以及它是否可以用来解决我的问题。
要检查文本区域中的字符串是否为 xml,您可以使用正则表达式。这将检查输入是否以
这是一个工作小提琴:http://fiddle.jshell.net/mikemjharris/j1nL8rz0/
要检查 xml 的特定代码:
function checkXML () {
var textToCheck = $('textarea').val();
if( textToCheck.match(/'<'?xml /) ) {
alert('this is xml!');
} else {
alert('not xml');
}
}
感谢您@mikemjharris回复,但它并没有真正解决我的问题。
经过几天的搜索,我找到了如何使用浏览器,所以我会自己回答。
首先,我必须创建一个.js文件,比如main.js,在其中声明并定义了我想使用的所有函数,例如
主.js:
var xml2js = require('xml2js')
validateVast = function(vast){
var parser = xml2js.Parser()
parser.parseString(vast, function(err, result){
if(result && !err){
console.log(result)
}
else{
console.log(err.toString())
}
})
}
然后,在终端中,我使用以下命令将捆绑文件添加到我的公共资源文件夹中:
browserify folder/main.js -o public/js/xml2jsBundle
然后,在我的 html 文件中,我添加了该行
<script src="js/xml2jsBundle.js"</script>
然后能够在 html 的主体中调用我的函数,如下所示:
<body>
<script src="js/xml2jsBundle.js"</script>
<input type="button" value="Validate" class="bt_Add" onClick="validate()">
<textarea id="vastTag" name="vastTag" class="form_creatives" value=""></textarea>
<script type="text/javascript">
function validate(){
var vast = $("#vastTag").val()
validateVast(vast)
}
</script>
</body>
嗯,我想就是这样。感谢您的帮助,再见
相关文章:
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- Node.js正在更改应用程序以使用集群模块
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 如何在Mocha/Chai中测试JS原型(非模块)
- 如何定义一个模块并使用它来分离js文件
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- 如何引用HTML中节点模块中的js文件
- 使用Ampersand.js路由模块化应用程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 在节点 js 中使用护照本地模块验证(登录)密码时出错
- module.js在运行iron节点时找不到模块
- 尝试从命令行将android平台添加到ionic时,模块.js:341处出现错误
- 节点抛出模块.js:340错误
- 在 ejs 中使用节点模块/.js函数
- 用于节点的FTP模块.js可以同步文件
- 从 Drupal 7 中的模块.js文件调用全局 JS 函数
- 使用 Socket.io 将套接字传递到 Node 中的模块.js
- JavaScript - 如何注入不同的函数实现,例如 alert(与 web 和 Node 共享模块.js服务器端)
- JavaScript 中有没有办法在原型私有(使用模块 JS 模式)方法中提供对变量的访问
- NODE的捆绑模块.JS