我有一个带有很多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
*/
亲自回答:
我必须将jQuery导入使用它的文件中。我认为安装npm就足够了...