在PHP中,您可以使用正则表达式(PCRE)压缩/缩小CSS吗?
(作为正则表达式中的理论.我确信那里有很好的库可以做到这一点.)
背景说明:花了好几个小时写了一个删除(半废话)问题的答案后,我想我会发布一部分基本问题并自己回答.希望没关系.
我正在使用visual studio构建一个移动Web应用程序,我想知道如何将所有CSS文件缩小为一个文件,以及将所有JavaScript缩小到一个缩小文件.
试图缩小项目的编译源代码以进行生产,我正在使用Gulp作为任务运行者.
源文件看起来像这样,
HTML
<!--... . . various scripts and styles . . . . . --->
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/main')
.then(null, console.error.bind(console));
</script>
</head>
<body>
<app></app>
</body>
Run Code Online (Sandbox Code Playgroud)
我的app目录结构如下,
.
??? main.js
??? main.js.map
??? main.ts
??? main.app.js
??? main.app.js.map
??? main.app.ts
??? x.component1
? ??? x.component.one.js
? ??? x.component.one.js.map
? ??? x.component.one.ts
??? x.component2
??? x.component.two.js
??? x.component.two.js.map
??? x.component.two.ts
Run Code Online (Sandbox Code Playgroud)
应用程序/ main.ts
import {bootstrap} …Run Code Online (Sandbox Code Playgroud) 有没有办法将缩小的JavaScript代码转换为正常?
我正在尝试缩小我的.js和.css文件.
我安装了包装 Install-Package Microsoft.AspNet.Web.Optimization
当我激活优化时 BundleTable.EnableOptimizations = true;
我在客户端收到此错误:
无法加载资源:服务器响应状态为403(禁止) http://localhost:22773/Content/themes/elevation/v=gnDLBbf1VVRuQDXtIYn1q0P3ICZG7oiwwgxPRbaLvqI1
任何人都知道我做错了什么?
--- BundleConfig info -------------------------------
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
BundleTable.EnableOptimizations = true;
bundles.Add(new ScriptBundle("~/bundles/myJquery").Include(
"~/Scripts/jquery-1.9.1.js",
"~/Scripts/jquery-ui-1.10.1.custom.js",
"~/Scripts/jquery.signalR-1.0.1.js",
"~/Scripts/signalr-hubs.js",
"~/Scripts/Controls/Select/Simple/jquery.ui.selectmenu.js"
));
bundles.Add(new ScriptBundle("~/bundles/shared").Include(
"~/Scripts/global/prototypes.js",
"~/Scripts/global/mathutil.js",
"~/Scripts/global/elevationevents.js"
));
bundles.Add(new ScriptBundle("~/bundles/core").Include(
"~/Scripts/elevation/core/sys.config.js",
"~/Scripts/elevation/core/bays.js",
"~/Scripts/elevation/core/door.js",
"~/Scripts/elevation/core/horiziontal.js",
"~/Scripts/elevation/core/vertical.js"));
bundles.Add(new StyleBundle("~/Content/themes/elevation").Include(
"~/Content/themes/dialogs/dialogs.css",
"~/Content/themes/social/ac/acSocial.css",
"~/Content/themes/elevation/elevation.css"
));
}
}
Run Code Online (Sandbox Code Playgroud)
-----------------------------我还没弄明白------------- --------
我在windows7操作系统上使用2013 .net和iis8
这是我最新的错误,我无法将我的解决方案从调试模式中解脱出来,因为如果我这样做,我会在下面得到该错误.
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this …Run Code Online (Sandbox Code Playgroud) 似乎是一个真正愚蠢的问题,必须在某个地方有答案,但我已经搜索了几个小时但没有结果。我是 ReactJS 和使用 Webpack 构建的新手,一般来说是构建配置。我正在使用 Webpack 链接和捆绑我的整个项目,包括 ReactJS。它工作得很好,但我无法找到任何方法来使捆绑包不缩小,以便我可以在出现问题时进行调试。
这是我的 Webpack 配置:
var webpack = require('webpack');
var path = require('path');
var BUILD_DIR = path.resolve(__dirname, 'public/js');
var APP_DIR = path.resolve(__dirname, 'build-source/js');
var config = {
entry: APP_DIR + '\\main.js',
output: {
path: BUILD_DIR,
filename: 'build.js' // want this output file to end un-minified
},
module: {
loaders: [
{
test: /\.jsx?/,
include: APP_DIR,
loader: 'babel'
}
]
}
};
module.exports = config;
Run Code Online (Sandbox Code Playgroud)
npm run dev我使用or运行捆绑执行,npm run build它调用我的 package.json 中的以下内容: …
我们在项目中使用jQuery.我们的网络应用程序中有许多自定义javascript文件,这些文件具有使用jQuery功能的UDF.我们需要减小尺寸(作为性能改进活动的一部分),我正在为这些文件寻找一个可靠的'minifier'(如果相同的工具也可以缩小CSS文件,这将是很好的)
我们尝试了JSLint和JSMin - 但是JSLint在遇到jQuery代码时没有完成并抛出许多异常.
例如
input{margin:0}body{margin:0;background:white}
Run Code Online (Sandbox Code Playgroud)
会像这样写得更短
input,body{margin:0}body{background:white}
Run Code Online (Sandbox Code Playgroud)
或这个
input,body{margin:0}body{margin:0;padding:0}
Run Code Online (Sandbox Code Playgroud)
会像这样写得更短
input,body{margin:0}body{padding:0}
Run Code Online (Sandbox Code Playgroud)
结论没有这样的工具看到接受的答案.
向工具编写者提示,您可能需要考虑gzip.有时,在二级优化上留下几个字节最后会更短,因为gzip本质上是字节级重复数据删除.如果有两个相同的部分,gzip将引用前一个部分.理想情况下,在决定是否应该在某些时间或所有时间跳过某些优化时,以及选择器和规则的顺序应该是这样考虑的.
我希望能够在不使用grunt的情况下将文件缩小并连接到单个文件如何使用Grunt.js(0.3.x)连接和缩小多个CSS和JavaScript文件 我可以通过webpack实现这一点吗?我尝试了很多不同的组合,但问题是我使用的一些库,假设它是AMD或CommonJS格式,所以我一直在收到错误.