如何使用Nuxt正确加载js文件?奇怪的行为

问题描述 投票:0回答:1

我有一个带有很多js文件(jQuery和其他插件)的HTML / CSS / JS模板。现在,我想使用Nuxt.js使它动态化。第一步是将index.html复制到Nuxt项目,并将标题之间的所有数据应用于nuxt.config.js以及所有CSS文件和JS文件。页面呈现,控制台没有显示任何错误。检查源代码可以告诉我,webpack将所有js文件捆绑到app.js中,而css-stuff直接位于源代码内部。这就是我想要的行为。

但是有一个奇怪的“ bug”。每次我加载页面时,都会出现一个不动态的模式,因此没有JS工作。我无法通过单击X来摆脱它。我搜索了该逻辑所在的文件,并仅向初始行添加了“警报”以确保调用了该文件。它有效,但是:一旦将警报放入“ $(function(){...}))”,它就不会执行。在我的原始HTML项目中确实如此。

我不知道为什么不执行它。我也为jQuery安装了npm软件包。

可行:

;(function($){
	'use strict';
	
	alert("CHECK");
	
	$(function(){
		

		document.addEventListener("touchstart", function() {},false);

		if ('ontouchstart' in document.documentElement) {
			$('body').css('cursor', 'pointer');
		}
    
  ...........

那不是:

;(function($){
	'use strict';
	
	
	$(function(){
		
		alert("CHECK");

		document.addEventListener("touchstart", function() {},false);

		if ('ontouchstart' in document.documentElement) {
			$('body').css('cursor', 'pointer');
		}

....................

我的nuxt.config.js看起来像这样:

css: [
    "@/assets/css/style.css",
    "@/assets/css/responsive.css",
    "@/assets/css/bootstrap-grid.min.css"
  ],
  /*
   ** Plugins to load before mounting the App
   */
  plugins: [
    // JS Core Libs
    { src: "~/plugins/js/libs/jquery-2.2.4.min.js", mode: "client" },
    { src: "~/plugins/js/libs/jquery-ui.min.js", mode: "client" },
    { src: "~/plugins/js/libs/retina.min.js", mode: "client" },
    { src: "~/plugins/js/plugins/jquery.scrollTo.min.js", mode: "client" },
    { src: "~/plugins/js/plugins/jquery.localScroll.min.js", mode: "client" },


    // JS theme files
    { src: "~/plugins/js/plugins.js", mode: "client" },
    { src: "~/plugins/js/script.js", mode: "client" }
  ],
  /*
   ** Nuxt.js dev-modules
   */
javascript jquery vue.js server-side-rendering nuxt
1个回答
0
投票

亲自回答:

我必须将jQuery导入使用它的文件中。我认为安装npm就足够了...

© www.soinside.com 2019 - 2024. All rights reserved.