如何在 MVC aspx 页面中使用预处理器指令

发布于 2024-08-28 07:05:39 字数 245 浏览 5 评论 0原文

我正在使用 MinifyJS.tt,它是一个 T4 模板来自动缩小我的所有 JS 文件。 在我的 aspx 文件中,我引用了所有 javascript 文件。

现在,我想添加一个条件(可能是编译器指令),以便在调试应用程序时使用原始 JS 文件,并在我仅运行应用程序而不进行调试时使用缩小的 JS 文件。 我尝试在 aspx 页面中使用#if,但这似乎不起作用。

我们可以在 aspx 页面中使用预处理器指令吗? 有其他方法可以实现我的目标吗?

I am using MinifyJS.tt which is a T4 template to minify all my JS files automatically.
In my aspx files, I am referencing all the javascript files.

Now, I want to add a condition (maybe compiler directive) to use the original JS file when I am debugging the application, and to use the minified JS files when I simply run the application without debug.
I tried using #if in the aspx page, but that did not seem to work.

Can we make use of preprocessor directives in aspx pages?
Is there an alternative way to achieve my goal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

亣腦蒛氧 2024-09-04 07:05:39

您可以使用以下内容:

if (!HttpContext.Current.IsDebuggingEnabled)
    Script = OptimizeScript(Script);

此外......还有一些评论,而不是进一步讨论该主题。

Wilco Bauwer 评论说,该属性封装了 web.config 设置,并且不考虑页面级调试,如果您想......

bool isDebuggingEnabled = Assembly.GetExecutingAssembly().IsDefined(typeof(DebuggableAttribute));

....这就是实现它的小孩子!

Peter Bromberg(C# MVP)提供了另一种解决方案,使用 Global.asax.cs 文件和在 Application_Start 事件中设置的静态全局应用程序标志。

public static bool IsDebugMode = false;
protected void Application_Start(object sender, EventArgs e)
{
   if (System.Diagnostics.Debugger.IsAttached) IsDebugMode = true;

取自 史蒂夫博客

You can use the following:

if (!HttpContext.Current.IsDebuggingEnabled)
    Script = OptimizeScript(Script);

Further.....there are a couple of comments than discuss the topic further.

From Wilco Bauwer he comments that this property encapsulates the web.config setting and doesn't take the page level debugging into account and if you wanted to....

bool isDebuggingEnabled = Assembly.GetExecutingAssembly().IsDefined(typeof(DebuggableAttribute));

....this is the kiddy to achieve it!!

and Peter Bromberg (C# MVP) offers up another solution using the Global.asax.cs file and a static global application flag being set in the Application_Start event.

public static bool IsDebugMode = false;
protected void Application_Start(object sender, EventArgs e)
{
   if (System.Diagnostics.Debugger.IsAttached) IsDebugMode = true;

Taken from Steves blog

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文