gpt4 book ai didi

angularjs - 如何使用 Web 入门套件将 AngularJS 文件包含在 grunt 构建中

转载 作者:行者123 更新时间:2023-12-04 01:44:33 25 4
gpt4 key购买 nike

我主要有 CMS(Wordpress、PHP)背景。我正在构建一个新网站,它将是一个单页 AngularJS 应用程序。我下载并安装了 Google Web 入门工具包。我将 AngularJS 安装为 nmp 安装。但是我如何让 gulpserve 将 AngularJS 文件包含在我的构建中呢?我是使用包管理器和构建流程构建网站的新手。谢谢。

最佳答案

将 Google Web Starter Kit 视为您的编译器,并将项目中 /app 文件夹内的所有内容视为网络应用的源代码。在命令行运行 gulp 相当于运行编译器来构建您的 Web 应用。 (我说的是gulp,因为 that is what GWSK is using now 。)

通过 NPM 添加软件包可以让您扩展您的编译器,而不是您的网络应用程序。要将包添加到您的 Web 应用程序,您可以使用类似 Bower 的工具。或将它们“手动”添加到您的基本模板中。请记住,您正在创建一个将在云中运行的 Web 应用程序,添加包就像向 HTML 文件添加脚本引用一样简单。

云连接

打开 your-project/app/index.html 并添加对 AngularJS 的脚本引用构建 block 之前。例如在文档的 HEAD 中。

<head>
<!-- ... existing head items... -->
<link rel="stylesheet" href="styles/main.css">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.min.js"></script>
</head>

将您的应用实现添加到 your-project/app/scripts 文件夹中。我建议使用 Controller 、指令等的子文件夹。

在现有的 main.js 脚本文件中实例化您的应用程序,例如

(function () {
'use strict';

var querySelector = document.querySelector.bind(document);

... existing Starter Kit boilerplate...

// Instantiate my Angular app
angular.module('MyWebApp', [
'myDirective',
'pageController'
]).config(function($locationProvider) {
$locationProvider.html5Mode({
enabled: true
});
});
})();

将 Angular 模块添加到构建 block

<!-- build:js scripts/main.min.js -->
<script src="scripts/directives/my-gallery.js"></script>
<script src="scripts/directives/img-uploader.js"></script>
<script src="scripts/controllers/pageController.js"></script>
<script src="scripts/main.js"></script>
<!-- endbuild -->

运行 gulpserve 在本地测试您的应用、调试并重复直到满意为止。

鲍尔大道

如果您不想依赖第三方 CDN 来提供网站的重要 Assets ,您还可以将 AngularJS 作为您的应用 Assets (即您控制的 Assets )的一部分。

首先,您需要扩展您的“编译器”(见上文)以添加 Bower 包管理器:

npm install -g bower

配置 Bower 将包放入 my-project/app/scripts/vendor 文件夹中,请参阅 .bowerrc ,然后使用 bower init 初始化您的项目。将包添加到您的网络应用程序中,例如添加 AngularJS 运行:

bower install angular --save

将所需的供应商包添加到基本模板中的构建 block 中,使它们成为 bundle 的一部分:

<!-- build:js scripts/main.min.js -->
<script src="scripts/vendor/angular/angular.js"></script>
<script src="scripts/vendor/angular-resource/angular-resource.js"></script>
... other angular modules you need in your app...

<script src="scripts/directives/my-gallery.js"></script>
<script src="scripts/directives/img-uploader.js"></script>
<script src="scripts/controllers/pageController.js"></script>
<script src="scripts/main.js"></script>
<!-- endbuild -->

运行gulpserve来测试完全本地的网络应用程序,您甚至可以在离线时使用该应用程序。

替代方式

还有其他方法可以实现上述目的。入门套件就是这样;一个开始。一些开发人员喜欢结合使用 NPM 和 Browserify ,例如,但如果您不了解/不喜欢 Node.js,我不推荐它。如果您对包管理器感到不舒服,您可以完全手动操作,并将需要的内容复制到 scripts/vendor 文件夹中。

尝试以上两种方法,看看是否有效。如果没有,请迭代。

关于angularjs - 如何使用 Web 入门套件将 AngularJS 文件包含在 grunt 构建中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26441481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com