我刚学习webpack.我注意到在生成的bundle.js中它使用eval(在"开发"模式下,而不是"生产",它产生完全不同的东西):
function(module, exports, __webpack_require__) {
"use strict";
eval("\r\nvar Component = (function () {\r\n function Component() {\r\n this.myProperty = \"Hello\";\r\n }\r\n return Component;\r\n}());\r\nexports.Component = Component;\r\n//# sourceMappingURL=component.js.map//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2FwcC9jb21wb25lbnQuanM/NjBiZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxudmFyIENvbXBvbmVudCA9IChmdW5jdGlvbiAoKSB7XHJcbiAgICBmdW5jdGlvbiBDb21wb25lbnQoKSB7XHJcbiAgICAgICAgdGhpcy5teVByb3BlcnR5ID0gXCJIZWxsb1wiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIENvbXBvbmVudDtcclxufSgpKTtcclxuZXhwb3J0cy5Db21wb25lbnQgPSBDb21wb25lbnQ7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbXBvbmVudC5qcy5tYXBcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL2FwcC9jb21wb25lbnQuanNcbi8vIG1vZHVsZSBpZCA9IDBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=");
/***/ },
Run Code Online (Sandbox Code Playgroud)
这背后的原因是什么?使用eval函数似乎有点奇怪.
这就是生产版本的样子:
!function(n){function t(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var r={};return t.m=n,t.c=r,t.i=function(n){return n},t.d=function(n,r,e){t.o(n,r)||Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:e})},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,"a",r),r},t.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},t.p="",t(t.s=1)}([function(n,t,r){"use strict";var e=function(){function n(){this.myProperty="Hello"}return n}();t.Component=e},function(n,t,r){"use strict";var e=r(0),o=function(){function n(){this.myComponent=new e.Component,console.log(this.myComponent.myProperty)}return n}();t.App=o}]);
Run Code Online (Sandbox Code Playgroud) 在用于Visual Studio的Sql Server数据工具中,您可以创建Sql Server项目并导入数据库的结构.这非常有效.
是否也可以导入数据?例如,假设我有一个包含多种类型的Type表.我想在Sql Server Project中有这些数据,所以当我发布它时,它也会发布数据.
我能够弄清楚的最接近的是使用Sql Server对象资源管理器为数据创建脚本,然后手动将该脚本添加到项目中.
当我看到Sql Server数据工具的演示时,然后显示发布一个项目,然后使用复制和粘贴将数据导入数据库.当然有更好的方法.
编辑多年以后,我终于搞清楚了:出口有两种类型:1.DACPAK - 仅包括结构,2.BACBAK包括数据和结构.
您可以从SSMS创建:1.DACPAK:选择您的数据库,右键单击Tasks-> Extract Data Tier App.2.选择数据库,右键单击Tasks-> Export Data Tier App.
我使用的是jspm 0.16.2.
我正在使用这个测试项目
当我将Transpiler设置为none时: transpiler: "none"
我收到一个错误 XHR error (404 Not Found) loading http://localhost:53404/none.js
如果我将转换器设置为'test',它会给出相同的错误,除非找到它 test.js
这是jspm的错误吗?
我想不使用转换器,但使用system.js加载AMD模块.
当我从config.js中删除了transpiler选项时,它会尝试加载Traceur.
我想在运行时没有运行Transpiler.
我有一个名为ui.js的javascript文件.
ui.js里面是UI设置代码.
if (!("ontouchstart" in document.documentElement)) {
document.documentElement.className += " no-touch";
var jScrollOptions = {
autoReinitialise: true,
autoReinitialiseDelay: 100
};
$('.box-typical-body').jScrollPane(jScrollOptions);
$('.side-menu').jScrollPane(jScrollOptions);
$('.scrollable-block').jScrollPane(jScrollOptions);
}
Run Code Online (Sandbox Code Playgroud)
我希望能够从打字稿中调用它.
我不想将代码转换为打字稿,因为有数百行,并不是真的有必要.在UI准备好之后,它只需要一次.
在我看来,我应该能够将它包装在一个函数中,然后从typescript中调用该函数.
但我无法弄清楚如何做到这一点.
注意:不是先前问题的重复,因为这是如何转换js,而不是直接使用它尽可能少的修改.
在c#中,您可以执行#if DEBUG ...在调试时执行一些特殊操作.我想在Typescript中做类似的事情,以便我可以在测试时设置表单值.
任何人都有关于如何在Typescript中实现这一点的任何建议?
我提出的最好的是设置类:
export class Settings {
static isDebugging = false;
};
Run Code Online (Sandbox Code Playgroud)
然后在启动应用程序时,我将其设置为true.
然后在代码中,我导入类并检查它是否为真.
if (Settings.isDebugging)...
Run Code Online (Sandbox Code Playgroud)
似乎工作正常.
我有一个使用TypeScript的ASP.NET Core项目.
是否可以在Visual Studio中调试TypeScript代码?
我需要在树中搜索可能在树中任何位置的数据.如何用linq完成?
class Program
{
static void Main(string[] args) {
var familyRoot = new Family() {Name = "FamilyRoot"};
var familyB = new Family() {Name = "FamilyB"};
familyRoot.Children.Add(familyB);
var familyC = new Family() {Name = "FamilyC"};
familyB.Children.Add(familyC);
var familyD = new Family() {Name = "FamilyD"};
familyC.Children.Add(familyD);
//There can be from 1 to n levels of families.
//Search all children, grandchildren, great grandchildren etc, for "FamilyD" and return the object.
}
}
public class Family {
public string Name { get; set; } …Run Code Online (Sandbox Code Playgroud) 在我的viewmodel类中,如何获取对当前路由器的引用?
我真正想做的是获取当前的ModuleId.
在Durandal中,有system.getModuleId,但Durandal中没有系统,所以我认为路由器将拥有该信息.
我想完全绕过 AspnetCore 身份,而是使用对当前用户进行身份验证的自定义方法。
但是,我仍然希望现有的授权框架能够发挥作用。换句话说,我希望能够使用AuthorizeView和@attribute [Authorize]来维护安全性。
我搜索了又搜索,但没有找到任何关于如何实现这一点的细节。
这应该只替换UpdateTarget,但它没有,它取代了整个页面,我不明白为什么.正在返回正确的局部视图,但它不是替换目标ID,而是替换整个页面.
<div id="magHeader">
<p>this is a test.</p>
@Ajax.ActionLink("Edit", "GetEditor", "Home", new AjaxOptions(){ UpdateTargetId = "magHeader", InsertionMode = InsertionMode.Replace})
</div>
Run Code Online (Sandbox Code Playgroud)
在运行时,链接如下所示:
<a href="/Home/GetEditor" data-ajax-update="#magHeader" data-ajax-mode="replace" data-ajax="true">Edit</a>
Run Code Online (Sandbox Code Playgroud)
有什么我做错了吗?在过去成功完成了这项工作,没有任何问题.
编辑 此问题的根本原因是在VS 2012中,您只需要添加对JQueryVal包的引用以使其工作.但是,在2013年,BundleConfig.cs被更改,因此JQueryVal包不再包含JQuery.Unobtrusive.所以简单的解决方法是将它添加回包中:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
Run Code Online (Sandbox Code Playgroud)
然后一切都会按预期工作.
typescript ×3
c# ×2
asp.net-core ×1
asp.net-mvc ×1
aurelia ×1
blazor ×1
jquery ×1
jspm ×1
linq ×1
sql-server ×1
webpack ×1
webpack-2 ×1