通过 Package Installer 安装时未定义 Knockout

Knockout is undefined when installing via Package Installer

我从 Mads Kristensen 安装了 Package Installer,然后通过命令安装了 git 和 bower,这样它就可以同时使用它们。我通过 "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 和一个 returns 索引视图的 Index ActionResult。

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

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

我检查了原因,这就是我的发现。

Bower 不会在项目的常规 "Script" 或 "js" 文件夹中安装可分发文件,它是一个名为:bower_components\knockout\dist\knockout.js

的隐藏文件夹

它看起来像这样:

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

要查看它们,请转到解决方案资源管理器并按 "Show All Files"。