我有一个带有jquery和bootstrap的现有PHP项目,没有使用任何前端框架.
我正在尝试使用webpack模块捆绑器来为我的项目资源创建单个入口点,使用node js package manager管理js依赖项,以minify js css运行任务,image re-size等等.并改善加载单个页面所需的浏览器加载时间.
我遇到了webpack教程并安装了它并安装了它的开发服务器,但问题是我无法理解如何在项目中转换所有当前的js脚本和css链接(我有很多用于在项目中提供多个功能的jquery和CSS库)以使用webpack.
我是否必须以适合webpack的方式重写所有JS和CSS文件?如何成功迁移?
此外,我无法在webpack开发服务器上运行我当前的php应用程序,它是否意味着首先在那里运行?它只是在此期间列出项目的目录.
我创建了一个测试index.js文件并使用了以下webpack配置:
var path = require('path');
var webpack = require('webpack');
module.exports =
{
entry: [
'./public/js/index.js',
'webpack/hot/dev-server',
'webpack-dev-server/client?http://localhost:8080'
],
plugins: [
new webpack.HotModuleReplacementPlugin()
],
output: {
path: path.join(__dirname, "public/dist/js"),
publicPath : "http://localhost:8080/my_proj/public/dist/js",
filename: "bundle.js"
}
};
Run Code Online (Sandbox Code Playgroud)
我添加bundle.js到我的脚本加载只是为了测试如下,希望应用程序将在webpack开发服务器上运行:
<script type="text/javascript" src="public/dist/js/bundle.js"></script>
<script type="text/javascript" src="public/js/jquery.min.js"></script>
<script type="text/javascript" src="public/js/jquery.migrate.js"></script>
<script type="text/javascript" src="public/js/jquery.bxslider.min.js"></script>
<script type="text/javascript" src="public/js/jquery.appear.js"></script>
<script type="text/javascript" src="public/js/jquery.countTo.js"></script>
<script type="text/javascript" src="public/js/bootstrap.js"></script>
Run Code Online (Sandbox Code Playgroud)
请帮助我理解这里的概念,如何成功完成迁移?
我有一个问题.我想使用JAXB将对象转换为另一个对象.就像在,我有一个类com.home.Student,另一个类com.school.Student,都有相同的参数,实际上两者都是相同的(复制粘贴),但不同的包.我想用它们之间进行转换JAXB.
怎么做,请帮帮我.
如何在这里添加删除按钮就像在这样的文件队列中一个一个地删除
我没有使用带有OOB插件的免费文件上传插件的原因是因为我的客户端要求是出于安全目的而且他们需要简单的上传ui而没有任何复杂的插件.
$(function() {
var dropZoneId = "drop-zone";
var buttonId = "clickHere";
var mouseOverClass = "mouse-over";
var dropZone = $("#" + dropZoneId);
var ooleft = dropZone.offset().left;
var ooright = dropZone.outerWidth() + ooleft;
var ootop = dropZone.offset().top;
var oobottom = dropZone.outerHeight() + ootop;
var inputFile = dropZone.find("input");
document.getElementById(dropZoneId).addEventListener("dragover", function(e) {
e.preventDefault();
e.stopPropagation();
dropZone.addClass(mouseOverClass);
var x = e.pageX;
var y = e.pageY;
if (!(x < ooleft || x > ooright || y < ootop || y > oobottom)) {
inputFile.offset({ …Run Code Online (Sandbox Code Playgroud)我正在使用第三方提供的给定XSD的JAXB创建以下XML文档.第三方请求签署文档并向其添加一个包含签名的额外元素.使用JDK 1.7.
以下是编组的代码示例:
JAXBContext jaxbContext = JAXBContext.newInstance(DataPDU.class);
DataPDU myDataPDU = new DataPDU();
myDataPDU.setRevision("2.0.6");
// marshall the file
Marshaller marshaller = jaxbContext.createMarshaller();
DOMResult domResult = new DOMResult();
marshaller.marshal(myDataPDU, domResult);
// get the document list
Document document = (Document) domResult.getNode();
Run Code Online (Sandbox Code Playgroud)
然后我创建元素(LAU)如下,并使用HMAC-SHA256算法和JSR105 JAVA API 签署文档(我不会包括整个签名代码以减少冗长,我使用XMLSignature类的标准行为,然后转换使用XML转换器将文档记录到DOMSource的文件输出流中:
Element LAUElement = document.createElementNS("urn:swift:saa:xsd:saa.2.0", "Saa:LAU");
Element rootElement = document.getDocumentElement();
rootElement.appendChild(LAUElement);
// sign the document
XMLSignatureUtil.sign(document, secret, LAUElement, "ds");
// create the output file
TransformerUtil.transformDocumentToFile(document, "resultingFile.xml");
Run Code Online (Sandbox Code Playgroud)
XML正确签名但在验证时,计算的摘要值与摘要值不同.
我注意到在创建LAU元素时更改命名空间值时,摘要永远不会改变,就好像文档正在签名并忽略了LAU元素的命名空间,我想这就是它失败的原因.整个文档中的任何其他更改,或LAU元素前缀的更改都会直接影响计算的有效负载摘要.
如果我将签名直接附加到根元素而不是创建LAU元素,则验证可以正常工作.
LAU元素存在于XSD中,可以使用JAXB创建,但问题是我找不到一种方法来为与根元素分配相同名称空间的前缀(仅在文档中).
问题:
当使用
createElementNS和将元素添加到文档时,是否实际上从有效负载摘要计算中省略了命名空间appendChild …
Java和JavaScript之间的拆分功能似乎不同.
我不需要匹配某个正则表达式标准,或使用基于前瞻性的正则表达式.我的问题在于,在分割正则表达式的最终匹配之后跟踪空匹配(这是一组简单的字符,而不是表达式).
下面是我想要实现的输出示例以及我真正得到的内容.
Java的
("~#~~#~~#~A~#~B~#~C~#~D~#~E~#~~#~~#~").split("~#~")
/* results with an array of length 8 */ (java.lang.String[]) [, , , A, B, C, D, E]
Run Code Online (Sandbox Code Playgroud)
使用Javascript
"~#~~#~~#~A~#~B~#~C~#~D~#~E~#~~#~~#~".split("~#~")
/* results with an array of length 11 */ ["", "", "", "A", "B", "C", "D", "E", "", "", ""]
Run Code Online (Sandbox Code Playgroud)
我真的无法对此做出很好的解释,因为我正在使用Java应用程序并且拆分导致我遇到麻烦,我想要与JavaScript中相同的结果.我怎么能得到它?
我有一个部门,我需要在发生事件时更改其外部 HTML。问题是,设置后outerHTML我无法引用新选定的 DOM 对象,除非我再次显式捕获它。
有没有办法在调用时直接更新变量引用outerHTML(在我的例子中是下面变量的引用div)?
$("#changeDiv").click(function(){
var div = $(this).prev();
div[0].outerHTML = `<div id="imSecondtDiv"> <p> World </p> </div>`;
console.log(div); // logs [div#imFirstDiv, prevObject: n.fn.init[1], context: button#changeDiv]
// the following line does not affect the newly added division
// since the var `div` references the old DOM object
// unless I add div = $(this).prev(); before setting the html of
// the paragraph it will not set it
div.find('p').html('Override');
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="imFirstDiv"> <p> …Run Code Online (Sandbox Code Playgroud)其中一个主要的设计原则是接口的程序而不是实现.这在PHP或任何其他弱类型语言中甚至是可能的.
编辑:
我也许没有像我应该的那样清楚地写出这个问题.我不是说php不能使用接口 - 它显然可以.我的意思是设计原则"接口而不是实现的程序"在弱类型语言中变得多余.
我需要帮助理解对象的类型提示.我尝试搜索stackoverflow但找不到任何其他用户解释其使用的东西.如果你找到一个让我知道.首先让我解释一下我的理解.
当使用类型提示数组时,用户必须输入一个数组参数,否则会引发错误.
<?php
function something(array $myval)
{
return print_r($myval);
}
Run Code Online (Sandbox Code Playgroud)
当我用对象尝试它时,我得到一个错误.我可能写错了,但请帮助我理解如何写它.
<?php
class Person
{
function name($name)
{
return $name;
}
}
$foo = new Person();
function doSomething(Person $lname)
{
return $lname->name;
}
doSomething('smith');
Run Code Online (Sandbox Code Playgroud)
根据我的理解,当一个函数类型提示对象Person(在这个例子中)时,参数变量将有权访问对象方法,就像实例化一个对象并回显其方法一样.我错了,但请纠正我.我的另一个问题是,如果在Person参数可以访问Person方法的情况下这是真的,那么这与仅仅实例化Person类并手动回显方法有什么不同.
在查看ES6文档时,我注意到建议在更详细的Object.assign()方法上使用扩展语法.但是,我对如何实现这一点感到困惑.
是object在这种情况下,被分解为key: value对,之后在逗号右侧的财产,则添加或覆盖,并最终被重组?
我正在分析angular-file-upload插件的一些角度js源代码,我在尝试理解一些代码时遇到了一些问题.
我知道这export是新ES6标准的一部分,它用于从给定文件(或模块)导出函数和对象.
但是下面的语法有点奇怪我:
let {
copy,
extend,
forEach,
isObject,
isNumber,
isDefined,
isArray,
element
} = angular;
export default (fileUploaderOptions, $rootScope, $http, $window,
FileLikeObject, FileItem) => {
let {
File,
FormData
} = $window;
class FileUploader {
// class implemention....
}
return FileUploader;
}
Run Code Online (Sandbox Code Playgroud)
=>在本声明中,运算符的用途是什么?
我已经将skelCSS框架集成Bootstrap到Web模板上,因为最初构建的模板中缺少一些组件skel,我别无选择.
底线..
全部selectboxes都设为
{
-webkit-appearance: none;
appearance: none
}
Run Code Online (Sandbox Code Playgroud)
为了删除选择箭头并应用自定义样式.
我有一个我想要查看默认的选择,我试图覆盖appearance并将其设置回正常.
我试过了
{
-webkit-appearance: default;
appearance: default
}
Run Code Online (Sandbox Code Playgroud)
和
{
-webkit-appearance: initial;
appearance: initial`
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如何设置选择的原始外观?
我试图使用正则表达式获取标题的值.这个正则表达式有什么问题.比赛即将到来.
let strToCheck = "<title>youtube \n </title>"
let rgx = "<title(.*?)>(.*?)</title>"
let rx = try NSRegularExpression(pattern: rgx, options: [.caseInsensitive])
if let match = rx.firstMatch(in: strToCheck, options: [], range:
NSMakeRange(0, string.characters.count)) {
}
Run Code Online (Sandbox Code Playgroud)