警告:尝试加载不止一次角以上。 当我有JQuery的 警告:尝试加载不止一次角以上。 当我有J

2019-05-12 04:57发布

我建立一个自耕农应用与角度发电机。

包括在我的index.html文件中的JS库是:

<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/modernizr/modernizr.js"></script>
<script src="bower_components/angular/angular.js"></script>   
<script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
<script src="bower_components/d3/d3.js"></script>
<script src="bower_components/select2/select2.js"></script>
<script src="bower_components/angular-ui-select2/src/select2.js"></script>

只有当jQuery是包括角,如果是后它不会发生,会出现问题。

正如标题状态的问题是,我得到“警告:试图装入不止一次角多”,在控制台和应用程序无法初始化。

有没有人有任何线索,为什么会发生这种情况?

我有一个单一的NG-应用程序,我包括角只有一次...一切。 它看起来不像是因为改变了脚本的位置修复它涉及到配置的东西。

难道你们有什么玄机?

有谁知道我是否能够配置到包括脚本的顺序? 由于我采用了棱角分明发电机我与usemin将此设为包括凉亭脚本。 我不知道是否有什么办法能在其中以包括脚本来指定。

这是我的项目bower.json文件:

{
  "name": "<name>",
  "version": "0.0.0",
  "dependencies": {
    "angular": "1.2.15",
    "json3": "~3.2.6",
    "es5-shim": "~2.1.0",
    "angular-ui-router": "~0.2.10",
    "modernizr": "~2.8.1",
    "d3": "~3.4.6",
    "angular-ui-select2": "~0.0.5"
  },
  "devDependencies": {
    "angular-mocks": "1.2.15",
    "angular-scenario": "1.2.15"
  }
}

我试图在谷歌没有运气搜索。 提前致谢!

更新1:

我发现,如果我有脚本这样,角将不会被包含了两次,它始终是第一次加载。

  <!-- build:js scripts/vendor.js -->
  <script src="bower_components/angular/angular.js"></script>
  <!-- bower:js -->
  <script src="bower_components/jquery/dist/jquery.js"></script>
  <script src="bower_components/modernizr/modernizr.js"></script>
  <script src="bower_components/angular-ui-router/release/angular-ui-router.js"></script>
  <script src="bower_components/d3/d3.js"></script>
  <script src="bower_components/select2/select2.js"></script>
  <script src="bower_components/angular-ui-select2/src/select2.js"></script>
  <!-- endbower -->

不是最好的解决办法,但至少现在......不管怎么说,我想有亭子里面的一切:JS标签。

Answer 1:

长时间的测试后...它结束了,关于我的index.html文件我有一个

<ui-view />

由角UI路由器和替换它被用于此,并获得成功。

<ui-view></ui-view>


Answer 2:

对我来说,这件事发生时,我错误引用我的观点在我的路线。

我有:

.when('/route', {
      templateUrl: 'views/myPage.html',
      controller : 'myCtrl'
})

但我的观点被命名views/mypage.html

该错误消息是不是我所期望的那样。 我本来期望丢失的观点错误。



Answer 3:

这对我来说太有.NET和MVC 5,一段时间后,我意识到,在标签内:ngview

再次列为部分脚本发生在你身上。 为了解决服务器端的问题,我做的是返回局部视图。 就像是:

public ActionResult Index()
{
    return View();
}

public ActionResult Login()
{
    return PartialView();
}

public ActionResult About()
{
    return PartialView();
}


Answer 4:

我得到了同样的警告,这是因为这些文件中包含的顺序,以及所使用的版本。

要解决上面的警告,我重新列入下列顺序文件:

jquery.js
jqueryui.js
angular.js

注意:您要添加jquery前的脚本标签angularjs使angularjs可以取代jqLite通过jQuery

此外,我的代码正在同AngularJS v1.2.0 ,但不具有更高的角度版本。 因此,检查你的jQuery和angularjs版本的兼容性,以及。



Answer 5:

是的,我通过排序在HTML页面中的JS脚本为了解决我的问题。

当把角JS脚本在第一顺序,不会出现这种情况了。

这是很奇怪的。

谢谢。



Answer 6:

我面临的类似问题与电子应用工作时。 我已经包含在index.html页面和我每次来那个页面时angular.min.js,次数警告用于出现用得到double..like 1,2,4,8,16等。因此,后4/5的刷新,使用应用程序来获得超慢。 我找到了解决办法是..而是包括script标签,使用angular.min.js的要求(” ./路径/ angular.min.js');

这将加载该文件只有一次。

根据节点的文档

缓存#

模块是他们第一次加载后缓存。 这意味着(除其他事项外)每次调用需要(“富”)将得到完全相同的对象返回,如果它会解析为同一个文件。

多个调用以要求(“富”)可能不导致要多次执行该模块的代码。 这是一个重要特征。 有了它,“部分完成”对象可以返回,从而使传递依赖于被加载,即使当它们会造成循环。



Answer 7:

下面是一个没有覆盖任何其他情况,但它导致了同样的问题,它可能被首先不会很明显:

如果使用的是咕嘟咕嘟或与角templatecache插件任何其他类似工具,所有代码合并到一个单一的文件,你需要确保的是,templatecache生成执行实际的拼接发生之前,否则你app.min。 JS不会有templatecache部分。

该Gulpfile看起来是这样的:

var paths = {
  styles: 'assets/less/style.less',
  scripts: 'assets/js/**/*.js',
  templates: 'views/**/*.html'
}

function styles() {
  return gulp.src(paths.styles)
    .pipe(less())
    .pipe(cleanCSS())
    .pipe(gulp.dest('./assets/css/'));
}

function scripts() {
  return gulp.src(paths.scripts, { sourcemaps: true })
    .pipe(babel())
    .pipe(uglify())
    .pipe(concat('app.min.js'))
    .pipe(gulp.dest('./assets/js'));
}

function templatecache() {
  return gulp.src(paths.templates)
    .pipe(templateCache({ module: 'ams', root: '/views/'}))
    .pipe(gulp.dest('./assets/js'));
}

function clean() {
  return del(['assets/js/app.min.js', 'assets/js/templates.js', 'assets/css/style.css']);
};

var build = gulp.series(clean, templatecache, gulp.parallel(styles, scripts));

关键部分是最后一行,干净templatecache执行第一然后并行的脚本和样式。 我是并行执行templatecache以及钻进重复angularjs警告。 希望它可以帮助别人。



Answer 8:

工具Visual Studio的----只是喜欢发表意见的this`文件angularjs

    <script src="~/Scripts/angular.min.js"></script>


</section>`


文章来源: WARNING: Tried to load angular more than once. when I include JQuery