有没有办法删除nodejs中的devDependencies而不删除所有内容.我在目标服务器上没有npm,所以我执行以下操作:
$ npm install
$ grunt build
$ rm -rf node_modules
$ npm install --production
Run Code Online (Sandbox Code Playgroud)
有谁知道是否存在可以清除已安装模块的npm模块.TIA!
Array.from是ES6的一项功能.当我在TypeScript中使用它并编译到ES5目标时,它不会改变它:
tsc -t es5 prog.ts
Run Code Online (Sandbox Code Playgroud)
也就是当我查看prog.js时,我仍然在同一个地方看到Array.from.在IE11中使用prog.js抱怨如下:
对象不支持属性或方法'from'
为什么TypeScript不将Array.from转换为某些ES5替代?
有没有办法设置它呢?
在文档中xdmp:invoke,可以将参数作为第二个参数传递.
对于xdmp:invoke-function此选项不可用.有没有解决方法来实现这一目标?
将列表映射到函数很容易.我想要实现的是一种面向方面的功能,它检查成功和失败的内容以及以这种方式调用的任何函数的标准日志消息.就像是:
declare function my-mapper ($array, $fn) {
(: standard logging and checks :)
for $a in $array
return try {
(: now call the function with parameter :)
xdmp:invoke-function($fn($a),<options>...</options>)
} catch ($e) {
(: standard housekeeping if something goes wrong :)
...
}
})
my-mapper($array, function ($item) {
(: do stuff with item :)
})
Run Code Online (Sandbox Code Playgroud)
有没有办法在使用MarkLogic的XQuery中实现这一目标?
我想部署一个频繁更新的nodejs项目.npm在站点上不可用,所以我必须打包node_modules.这可以正常工作,但需要很长时间才能通过可用的ftp连接发送给客户(每次80MB,主要是node_module文件).我的工作流程如下:
git clone project
npm install # installs all my dev tools which I need for packaging
grunt build
tar xvzf build.tar.gz build/
Run Code Online (Sandbox Code Playgroud)
构建步骤仅将我的代码打包缩小到需要的范围.node_modules文件夹将复制到构建文件夹中.如果我使用npm install --production,我会占用更小的空间,但却错过了我首先需要的工具.所以最后我努力使我的代码占用空间很小,但是我必须打包这么大的node_modules树来解决我的所有工作.
我的方法有误吗?是否有一种更简单的方法来部署生产服务器上没有npm的地方,或者是否有一种减小node_modules文件夹大小的好方法?
我试图使用2层服务器端JavaScript应用程序返回JSON格式的XML文档.我知道MarkLogic可以使用REST api在JSON和XML格式之间轻松切换.
但是,以下返回xml:
cts.search('something', ['format-xml']) // options may be omitted
Run Code Online (Sandbox Code Playgroud)
但这没有任何回报:
cts.search('something', ['format-json'])
Run Code Online (Sandbox Code Playgroud)
根据文档,我认为我已正确使用该功能.
这可能使用服务器端javascript吗?
更新:
使用transformToJsonObject方法如下:
var json = require('/MarkLogic/json/json.xqy');
var doc = fn.doc('/content/rss/72eb9bf835521446be8d2176e1ac9d22.xml')
var jsonDoc = json.transformToJsonObject(doc, json.config('custom'));
jsonDoc
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
500 Internal Server Error
XDMP-STACKOVERFLOW: Stack overflow
in /MarkLogic/json/custom.xqy, at 493:23,
in json-custom:is-ignore-attribute#2(json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:json="http://marklogic.com/xdmp/json"><json:entry key="element-qname-from-json-name"><json:value xsi:t...</json:object>...XDMP-ATOMIZEFUNC: (err:FOTY0013) Functions cannot be atomized...), fn:doc("/content/rss/72eb9bf835521446be8d2176e1ac9d22.xml")/newsitem/article/*:html/*:head/*:script[5]/*:script/*:script/*:script/*:link/*:script/*:script/*:script/*:script/*:script/*:script/*:style/*:script/*:script/*:script/*:script/*:script/*:script/*:script/*:script/*:script/*:script/*:link/*:script/*:script/*:noscript/*:link/*:meta/*:body/*:div/*:div/*:div/*:script/*:div/*:div/*:script/*:script/*:div/*:div/*:script/*:script/*:script/*:script/*:noscript/*:p/*:header/*:div/*:div/*:div/*:a/*:section/*:div/*:h2/*:ul/*:li/*:a/*:li/*:a/*:div/*:div/*:a/*:img/*:span/*:script/*:nav/*:div/*:h2/*:ul/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:li/*:a/*:span/*:div/*:a/*:form/*:div/*:label/*:div/*:script/*:div/*:div/*:div/*:div/*:div/*:a/*:svg/*:title/*:h2/*:a/*:div/*:button/*:div/*:ul/*:li/*:a/*:span/*:li/*:a/*:span/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:div/*:nav/*:a/*:span/*:span/*:ul/*:li/*:a/*:span/*:li/*:a/*:span/*:span/*:div/*:div/*:script/*:script/*:div/*:div/*:span/*:span/*:a/*:div/*:div/*:script/*:script/*:div/*:div/*:div/*:span/*:span/*:a/*:div/*:div/*:script/*:script/*:div/*:div/*:div/*:div/*:h1/*:div/*:ul/*:li/*:div/*:li/*:span/*:a/*:div/*:figure/*:span/*:img/*:span/*:span/*:figcaption/*:span/*:span/*:p/*:p/*:p/*:p/*:p/*:div/*:div/*:script/*:script/*:h2/*:p/*:p/*:figure/*:span/*:div/*:span/*:span/*:figcaption/*:span/*:span/*:p/*:p/*:p/*:p/*:p/*:p/*:p/*:p/*:div/*:a/*:h2/*:a/*:ul/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:li/*:a/*:span/*:div/*:div/*:div/*:h2/*:div/*:ul/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:li/*:a/*:div/*:div/*:div/*:span/*:div/*:div/*:div/*:div/*:div/*:h2/*:div/*:ul/*:li/*:div/*:div/*:a/*:div/*:span/*:p/*:div/*:div/*:div/*:div/*:script/*:script/*:div/*:div/*:script/*:script/*:div/*:div/*:script/*:script/*:div/*:div/*:h2/*:a/*:strong/*:p/*:div/*:a/*:strong/*:div/*:a/*:strong/*:div/*:div/*:div/*:script/*:script/*:div/*:div/*:h2/*:div/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:h3/*:p/*:div/*:a/*:div/*:div/*:div/*:div/*:div/*:span/*:span/*:span/*:h3/@class) [1.0-ml]
$config = json:object(<json:object xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:json="http://marklogic.com/xdmp/json"><json:entry key="element-qname-from-json-name"><json:value xsi:t...</json:object>...XDMP-ATOMIZEFUNC: (err:FOTY0013) Functions cannot be atomized...)
$a = fn:doc("/content/rss/72eb9bf835521446be8d2176e1ac9d22.xml")/newsitem/article/*:html/*:head/*:script[5]/*:script/*:script/*:script/*:link/*:script/*:script/*:script/*:script/*:script/*:script/*:style/*:script/*:script/*:script/*:script/*:scr
Run Code Online (Sandbox Code Playgroud) 我有一个工作build.gradle,我想重构到 buildSrc 目录中,但我无法找到依赖项。
工作 build.gradle:
import groovyx.net.http.HTTPBuilder
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.2'
}
}
plugins {
id 'groovy'
}
group "com.example"
version "0.0.1"
class Foo {
Foo() {
new HTTPBuilder('http://www.example.com')
}
}
Run Code Online (Sandbox Code Playgroud)
非工作重构 build.gradle:
但是,当我尝试拆分为以下内容时:
build.gradle
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.2'
}
}
plugins {
id 'groovy'
}
group "com.example"
version "0.0.1"
Run Code Online (Sandbox Code Playgroud)
和 buildSrc/src/main/groovy/Foo.groovy
import groovyx.net.http.HTTPBuilder
class Foo {
Foo() {
new HTTPBuilder('http://www.example.com')
}
}
Run Code Online (Sandbox Code Playgroud)
给出错误: …
在编写基本的javascript ES2015函数时,我在打字稿中遇到错误.例如,由于未在任何地方声明类型,我收到以下错误:
src\app\component.ts(44,18):错误TS7006:参数'a'隐式具有'any'类型.
src\app\component.ts(43,41):错误TS7006:参数'b'隐式具有'any'类型.
src\app\component.ts(45,20):错误TS7006:参数'p'隐式具有'any'类型.
src\app\component.ts(45,23):错误TS7006:参数'n'隐式具有'any'类型.
' 问题 '功能是这样的ES2015功能:
this.filters = this.items
.map(x => x.someProperty)
.reduce((p,n) => p.concat(n), [])
.sort((a, b) => {/* sort someway */})
.reduce((p, n) => {/* do something */}, [])
Run Code Online (Sandbox Code Playgroud)
我喜欢这个函数的可读性,我知道它的工作正常.如果我必须在任何地方添加类型,它就会失去使用terser语法的目的.
我明白Typescript是ES2015的超集,但我写的所有内容都报告为错误(不是警告),除非我指定每一种类型.它有点烦人,由于某种原因,错误导致我的编译器崩溃.
话虽如此.我喜欢用强类型编写新代码,我喜欢收到警告.在一些函数中只有一些关闭检查会很好.
有没有声明一个忽略规则的函数或者我必须以这种方式重写我的所有JavaScript?
我想使用一些文档属性(在xml中)作为节点,以便我可以使用子元素.到目前为止,我有:
var counts = [];
for (var p of xdmp.documentProperties(uris)) {
var isANode = p instanceof Node; // false (actually true - see edit)
var count = xdmp.xqueryEval('fn:count(' + p + '//data)')
counts.push(count)
}
counts
Run Code Online (Sandbox Code Playgroud)
我在MarkLogic文档中看过nodebuilder示例,我想使用该接口.例如
myNode.xpath('//data')
var children = myNode.childNodes()
Run Code Online (Sandbox Code Playgroud)
而不是使用XPath进行评估有没有办法将对象转换为节点?或者,有没有更好的方法来使用Server Side JavaScript中的现有XML?
在XQuery中我可以使用,xdmp:tranform-to-json()但SJS中没有提供该功能.
编辑:
在我尝试提供干净的代码示例时,我遗漏了重要信息.我的代码结构如下:
for (var uri of cts.uriMatch('/pattern/*')) {
var p = xdmp.documentProperties(uri);
var isANode = p instanceof Node; // false
// ...
}
Run Code Online (Sandbox Code Playgroud)
代替
for (var p of xdmp.documentProperties(cts.uriMatch('/pattern/*'))) {
var …Run Code Online (Sandbox Code Playgroud) 使用asciidoc,我想将目录放在第三页上。最多只能放在第2页;在扉页之后。
我的期望是这样的事情应该有效:
= My book
A book to enjoy
== Preface
Enjoy my book
== Table of contents
:toc:
== Chapter One
It was the best of times ...
Run Code Online (Sandbox Code Playgroud)
...但目录仍然位于第 2 页。
是否可以选择放置目录的位置?
编辑:
我希望目录位于不同页面上的原因是因为我正在复制一个模板,该模板在目录之前有一个部分。
我想在没有任何元数据(例如权限,属性或集合)的数据库中替换xml文档.托管文档(dls)不是一种选择.
使用xdmp:document-insert()不保留权限,集合等.
使用xdmp:node-replace()适用于文档的某些部分,但需要提前知道根节点.
是否有推荐的方法来更新MarkLogic中的整个文档?
marklogic ×4
javascript ×3
ecmascript-6 ×2
gruntjs ×2
marklogic-8 ×2
node.js ×2
typescript ×2
xquery ×2
asciidoc ×1
asciidoctor ×1
gradle ×1
groovy ×1
nosql ×1
npm ×1
xml ×1
xpath ×1