我很难使用 .NET 的新优化框架(用于缩小和捆绑)将 LESS 文件转换为 CSS。
我有一个只包含 LESS 文件的目录。
我使用以下代码将它们捆绑在一起并将它们转换为 CSS:
var lessBundle = new Bundle("~/st-style-common-2")
.IncludeDirectory("~/Admin/Resources/styles/", "*.less");
lessBundle.Transforms.Add(new LessTransform());
lessBundle.Transforms.Add(new CssMinify());
bundles.Add(lessBundle);
Run Code Online (Sandbox Code Playgroud)
我还使用了此处详述的 LessTransform 类。
当 debug="false" 文件被转换成标准 CSS 并编译成一个,正如预期的那样。
但是,当 debug="true" 文件没有被转换时,在 HTML 中留下一堆 .less URL,浏览器不理解这些 URL,IIS 似乎没有处理程序。
我意识到我可以构建一些处理程序来为这些 .less 文件提供服务,但我认为我不需要这样做。即使在调试时,优化框架也不会将 LESS 转换为 CSS 吗?
如果我有一个捆绑包如:
bundles.Add(new ScriptBundle("~/foo/bar").Include(
"~/Scripts/foo.js"));
Run Code Online (Sandbox Code Playgroud)
以及如下的路线:
routes.MapRoute(
"Foo", // Route name
"foo/bar",
new
{
controller = "Foo",
action = "Bar"
});
Run Code Online (Sandbox Code Playgroud)
哪一个优先?
浏览器会返回ScriptBundle还是ActionResult?
asp.net asp.net-mvc asp.net-mvc-routing bundling-and-minification asp.net-mvc-5
这似乎是一个非常简单的问题,但花了最后3个小时来研究它,发现如果不使用watchify,每次保存新文件都会很慢.
这是我的目录树:
gulpfile.js
package.json
www/
default.htm
<script src="toBundleJsHere/file123.js"></script>
toBundletheseJs/
componentX/
file1.js
componentY/
file2.js
componentZ/
file3.js
toPutBundledJsHere/
file123.js
Run Code Online (Sandbox Code Playgroud)
要求.在文件夹中每次创建或保存文件时,toBundleTheseJs/我希望将此文件重新分组toBundleJsHere/
我需要在package.json文件中包含哪些内容?
什么是我需要写入我的gulp文件的最小值?
这应该尽可能快,所以认为我应该使用browserify并观察.我想了解最小步骤,所以使用像jspm这样的包管理器这一点太过分了.
谢谢
javascript browserify bundling-and-minification gulp watchify
我是javascript及其相关框架的新手.
什么是资产?是js/html/img文件组?它是文件夹吗?还是图书馆?或用于描述所有UI相关文件的通用术语?
什么是捆绑?
我的 React Native 应用程序需要整整 2 分钟才能加载,我想知道有什么问题。当它达到 97.4% 时,它会在进入 100% 之前冻结大约两分钟。我怎样才能找出这种延迟的原因?
>npm start -- --reset-cache
> crew_rn@0.0.1 start /Users/######/crew_rn
> node node_modules/react-native/local-cli/cli.js start "--reset-cache"
Scanning folders for symlinks in /Users/######/crew_rn/node_modules (9ms)
????????????????????????????????????????????????????????????????????????????????
? ?
? Running Metro Bundler on port 8081. ?
? ?
? Keep Metro running while developing on any JS projects. Feel free to ?
? close this tab and run your own Metro instance if you prefer. ?
? ?
? https://github.com/facebook/react-native ?
? ?
????????????????????????????????????????????????????????????????????????????????
Looking …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何使用 rollup 来打包一些 javascript,遵循网上的一些教程。\n我一开始就坚持尝试使用配置文件。\n使用命令行一切似乎都正常,但使用配置文件它以语法错误结束Unexpected token 'export'。
我的配置是 Windows 11:
\nc:\\dev\\rollup-test>node --version\nv16.14.2\nc:\\dev\\rollup-test>rollup --version\nrollup v2.70.1\nRun Code Online (Sandbox Code Playgroud)\n配置文件:
\nc:\\dev\\rollup-test>type rollup.config.js\nexport default {\n input: './src/main.js',\n output: {\n file: './build/bundle.js',\n format: 'es'\n }\n };\nRun Code Online (Sandbox Code Playgroud)\nJavaScript 文件src\\main.js:
c:\\dev\\rollup-test>type src\\main.js\nconsole.log('hi there!');\nRun Code Online (Sandbox Code Playgroud)\n在 CLI 模式下,一切似乎都正常:
\nc:\\dev\\rollup-test>rollup ./src/main.js --file ./build/bundle.js --format es\n\n./src/main.js \xe2\x86\x92 ./build/bundle.js...\ncreated ./build/bundle.js in 29ms\nRun Code Online (Sandbox Code Playgroud)\n尝试使用上面的配置文件:
\nc:\\dev\\rollup-test>rollup --config\n[!] SyntaxError: Unexpected token 'export'\nc:\\dev.local\\rollup-test\\rollup.config.js:1\nexport default {\n^^^^^^\n\nSyntaxError: Unexpected token 'export'\n at Object.compileFunction (node:vm:352:18)\n at wrapSafe (node:internal/modules/cjs/loader:1032:15)\n at …Run Code Online (Sandbox Code Playgroud) 我正在使用 Microsoft ASP.NET Web Optimization Framework
您可能知道,它可以将所有JS/CSS连接成单个文件.您可以在config中定义输出文件名,并确保用户浏览器将更新JS/CSS添加参数v=yUVjELgc9foFnhZgsvMfx2DhVRLKWK-w69IoCVhJ_aM1
链接看起来像:
src="/scripts/js/jquery?v=yUVjELgc9foFnhZgsvMfx2DhVRLKWK-w69IoCVhJ_aM1"
Run Code Online (Sandbox Code Playgroud)
我听说并非所有浏览器都支持该参数而不刷新缓存.
我可以确定,所有浏览器都会使用这种方法更新缓存,或者我必须手动生成新的文件名吗?是否有任何表格,我可以看到浏览器,但不支持?
谢谢
.net iis web-optimization browser-cache bundling-and-minification
我创建了一个空MVC项目VS 2012,默认情况下没有Jquery CSS文件,所以我将所有脚本和CSS文件复制到我的脚本文件中然后我下载了System.Web.Optimization NuGets,之后我创建了一个包在我的BundleConfig.cs档案中.代码和参考文件文件都可以,然后我在我的视图中渲染脚本
@System.Web.Optimization.Scripts.Render("~/bundles/jquery")
Run Code Online (Sandbox Code Playgroud)
因为只是Scripts.Render()不工作,所以我给渲染方法的全名空间但仍然我的代码不在我的空MVC项目,虽然我在我的MVC互联网项目测试相同的代码工作正常,我也测试了Configuration Debug="false",但仍然我的捆绑不工作和简单的jquery文件引用工作正常.我错过了什么.我认为所有问题都在Empty项目中,缺少一些手动编写的文件或代码.
在我的项目中,我想从服务器向浏览器发送应用程序设置.
为此,我创建了一个名为"ConfigFileTransform"的类,它继承自IBundleTransform.在流程方法中,我将javascript中的关键字替换为其值.(也许这不是最好的解决方案......)
例如,使用此转换类将对象类型的查询限制设置为客户端.
当我调试我的应用程序时出现问题,我看到调试器转到我的自定义包转换类,但渲染的javascript不包含替换...
在发布模式下,一切正常.
当我处于调试模式时,有谁知道我能做些什么才能看到我的变换应用?
当我将使用ASP.NET Core网站模板创建的网站发布到Azure时,为什么我对site.css和site.js所做的更改也没有发布?
bundling-and-minification asp.net-core-mvc visual-studio-2015 asp.net-core visual-studio-2017
javascript ×3
.net ×2
asp.net-mvc ×2
asp.net ×1
asp.net-core ×1
browserify ×1
gulp ×1
iis ×1
less ×1
react-native ×1
reactjs ×1
rollupjs ×1
terminal ×1
watchify ×1