【发布时间】:2017-05-02 13:45:40
【问题描述】:
我目前在我的“ts”文件顶部有这个 import $ = require("jquery"); 我这样做是因为我试图在我的打字稿文件中使用 jquery,但我似乎无法编译它,因为它返回所述错误在标题中。我正在使用 ASP.NET CORE
脚本文件夹
tsonfig.json
{
"compilerOptions": {
"noImplicitAny": true,
"noEmitOnError": true,
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"target": "es5",
"module": "umd"
},
"files": [
"wwwroot/js/player-page.ts",
"wwwroot/js/playerDetails-page.ts",
"wwwroot/js/DataTableSetting.ts"
],
"compileOnSave": true
}
main.ts
require.config({
baseUrl: "wwwroot/js/lib",
paths: {
jquery: "jquery-3.1.1"
}
});
require(["jquery", "DataTable", "DataTableSetting"],
($: JQueryStatic, datatable: DataTables.DataTable, dataTableSetting: any) => {
console.log($);
});
ASP.NET MVC 布局页面
<script data-main="~/js/lib/main" src="~/js/lib/require.js"></script>
控制台错误
http://requirejs.org/docs/errors.html#scripterror
at makeError (require.js:5)
at HTMLScriptElement.onScriptError (require.js:5)
TS 文件
import $ = require("jquery");
import DataTables = require("./DataTableSetting");
export class Player {
private playerTable: HTMLTableElement;
constructor(playerTable: HTMLTableElement) {
this.playerTable = playerTable;
this.wireEvents(this.playerTable);
}
initDatatable(playerTable: HTMLTableElement) {
$(playerTable).DataTable();
}
private wireEvents(playerTable: HTMLTableElement): void {
const btnsUpdatePlayer = playerTable.querySelectorAll(".btnUpdatePlayer");
Array.prototype.forEach.call(btnsUpdatePlayer,
(btn: HTMLButtonElement) => {
btn.addEventListener("click", (e : Event)=> {
console.log(e.target);
}, false);
});
}
}
window.onload = () => {
var $dtPlayerTable = document.getElementById("tblPlayer");
var playerTable: HTMLTableElement = <HTMLTableElement>$dtPlayerTable;
const player = new Player(playerTable);
};
【问题讨论】:
-
您的 TS 文件中是否包含
jquery.d.ts? -
@Louis 嗨,是的,我确实尝试过 amd 模块.. 没有工作,这就是我切换到 umd 的原因
-
@Louis 如果您仔细阅读问题,您会在顶部看到一行:“我似乎无法编译”。在 StackOverflow 上提问的人混淆术语、库、概念等的情况并非闻所未闻。在这种特殊情况下,如果 OP 混淆了 TS 编译器和 RequireJS,我也不会感到惊讶。
-
@FyodorSoikin 是的,我没有仔细阅读并错过了那一点。我相信你是对的。
-
@ifelabolz 请发布您收到的实际错误消息
标签: javascript jquery typescript asp.net-core requirejs