通过Package Installer安装时,Knockout未定义

时间:2017-04-10 15:16:54

标签: javascript model-view-controller knockout.js bower visual-studio-2017

我从Mads Kristensen安装了Package Installer,然后通过命令安装了git和bower,这样就可以使用它们。我通过上面在我的项目中提到的Package安装程序中的“Quick Install Package”安装了Knockout。我有以下js:

// This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI
function AppViewModel() {
    this.firstName = "Bert";
    this.lastName = "Bertington";
}

// Activates knockout.js
ko.applyBindings(new AppViewModel());

(正如你所看到的那样是教程)

我认为我有以下内容:

<!DOCTYPE html>

<html>
<head>
    <title>Index</title>
    <script src="~/js/Index.js"></script>
</head>
<body>
    <div> 
        <p>First name: <strong data-bind="text: firstName"></strong></p>
        <p>First name: <strong data-bind="text: lastName"></strong></p>
    </div>
</body>
</html>

这是一个空的MVC Web解决方案,文件夹结构是一个经典的空MVC,HomeController和Index ActionResult返回索引视图。

错误如下: http://localhost:60689/js/Index.js第8行第8行未处理的异常 0x800a1391 - JavaScript运行时错误:'ko'未定义

这是我第一次使用Git,Bower和Knockout,所以也许我犯了一个错误。

1 个答案:

答案 0 :(得分:0)

我检查了为什么,这就是我发现的。

Bower不会在您项目的常规“脚本”或“js”文件夹中安装可分发文件,它是一个隐藏文件夹,名为:bower_components \ knockout \ dist \ knockout.js

看起来像这样:

<script src="~/bower_components/knockout/dist/knockout.js"></script>

要查看它们,请转到解决方案资源管理器,然后按“显示所有文件”。