gpt4 book ai didi

AngularJS- 使用 LazyLoad- Webpack 动态加载脚本文件

转载 作者:行者123 更新时间:2023-12-03 14:55:05 27 4
gpt4 key购买 nike

现在在我的index.html我有两个 CDN 文件的链接,一个是 JS,另一个是 CSS 文件。

IE。
在我 body 的底部

https://somedomain.com/files/js/js.min.js

并在头部
https://somedomain.com/files/css/css.min.css

但是现在我的主页上不需要它们,而只是在一条特定的路线上。因此,我正在研究如何在路由被命中时延迟加载这些 CDN 资源,即 /profile只有这样?

这些不是通过 bower 或 npm 安装的,而是通过 CDN url 加载的,例如 jquery。如何在 Angular 1 和 Webpack 中基于路由延迟加载?

最佳答案

给你.. 使用 使之成为可能olazyload .看看下面的代码。下面链接的一个plunker

我有一个名为 的模块我的应用程序 如下

angular.module('myApp', ['ui.router','oc.lazyLoad'])
.config(function ($stateProvider, $locationProvider, $ocLazyLoadProvider) {
$stateProvider
.state("home", {
url: "/home",
templateUrl: "Home.html",
controller: 'homeCtrl',
resolve: {
loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('homeCtrl.js');
}]
}
})
.state("profile", {
url:"/profile",
templateUrl: "profile.html",
resolve: {
loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('someModule.js');
}]
}
})

});

我有另一个名为 的模块一些应用程序 如下
(function () {
var mynewapp=angular.module('someApp',['myApp']);

mynewapp.config(function(){

//your code to route from here!

});
mynewapp.controller("profileCtrl", function ($scope) {

console.log("reached profile controller");
});

})();

我有一个 Live Plunker 用于您的演示 here

关于AngularJS- 使用 LazyLoad- Webpack 动态加载脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40643629/

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