jQuery.Deferred exception: i is not a function TypeError: i is not a function
jQuery.Deferred exception: i is not a function TypeError: i is not a function
我已经将 Phoenix 应用程序的主体部署到 Heroku (Link),但在 js 控制台中有类似的警告和错误:
警告:
jQuery.Deferred exception: i is not a function TypeError: i is not a
function
错误:
Uncaught TypeError: i is not a function
在开发环境下,一切正常。
尝试使用 Heroku 运行 b运行ch build 重新编译 b运行ch 并尝试修改 b运行ch 配置文件。看起来缩小后有东西丢失或放错了顺序。现在我被困住了。
有人可以帮助我吗?
b运行ch-config.js
exports.config = {
// See http://brunch.io/#documentation for docs.
files: {
javascripts: {
joinTo:
"js/app.js",
order: {
before: [
"node_modules/jquery/dist/jquery.js",
"node_modules/what-input/src/what-input.js",
"node_modules/foundation-sites/js/foundation.core.js",
"node_modules/foundation-sites/js/foundation.topbar.js",
"node_modules/foundation-sites/js/foundation.reveal.js",
"node_modules/foundation-sites/js/foundation.offcanvas.js"
]
}
// To use a separate vendor.js bundle, specify two files path
// http://brunch.io/docs/config#-files-
// joinTo: {
// "js/app.js": /^(web\/static\/js)/,
// "js/vendor.js": /^(web\/static\/vendor)|(deps)/
// }
//
// To change the order of concatenation of files, explicitly mention here
// order: {
// before: [
// "web/static/vendor/js/jquery-2.1.1.js",
// "web/static/vendor/js/bootstrap.min.js"
// ]
// }
},
stylesheets: {
joinTo: "css/app.css",
order: {
after: ["web/static/css/app.css"] // concat app.css last
}
},
templates: {
joinTo: "js/app.js"
}
},
conventions: {
// This option sets where we should place non-css and non-js assets in.
// By default, we set this to "/web/static/assets". Files in this directory
// will be copied to `paths.public`, which is "priv/static" by default.
assets: /^(web\/static\/assets)/
},
// Phoenix paths configuration
paths: {
// Dependencies and current project directories to watch
watched: [
"web/static",
"test/static"
],
// Where to compile files to
public: "priv/static"
},
// Configure your plugins
plugins: {
babel: {
// Do not use ES6 compiler in vendor code
ignore: [/web\/static\/vendor/]
},
sass: {
options: {
includePaths: [
'node_modules/foundation-sites/scss',
'node_modules/motion-ui/src'
]
}
}
},
modules: {
autoRequire: {
"js/app.js": ["web/static/js/app"]
}
},
npm: {
enabled: true,
globals: {
$: 'jquery',
jQuery: 'jquery',
},
whitelist: ["phoenix", "phoenix_html", "jquery", "jquery-validation", "foundation-sites"]
}
};
我通过将 foundation.min.js 复制到 web/static/vendor 找到了解决方案:
cp ./node_modules/foundation-sites/dist/js/foundation.min.js web/static/vendor/
将更改推送到 heroku,现在一切正常。
我已经将 Phoenix 应用程序的主体部署到 Heroku (Link),但在 js 控制台中有类似的警告和错误:
警告:
jQuery.Deferred exception: i is not a function TypeError: i is not a function
错误:
Uncaught TypeError: i is not a function
在开发环境下,一切正常。
尝试使用 Heroku 运行 b运行ch build 重新编译 b运行ch 并尝试修改 b运行ch 配置文件。看起来缩小后有东西丢失或放错了顺序。现在我被困住了。
有人可以帮助我吗?
b运行ch-config.js
exports.config = {
// See http://brunch.io/#documentation for docs.
files: {
javascripts: {
joinTo:
"js/app.js",
order: {
before: [
"node_modules/jquery/dist/jquery.js",
"node_modules/what-input/src/what-input.js",
"node_modules/foundation-sites/js/foundation.core.js",
"node_modules/foundation-sites/js/foundation.topbar.js",
"node_modules/foundation-sites/js/foundation.reveal.js",
"node_modules/foundation-sites/js/foundation.offcanvas.js"
]
}
// To use a separate vendor.js bundle, specify two files path
// http://brunch.io/docs/config#-files-
// joinTo: {
// "js/app.js": /^(web\/static\/js)/,
// "js/vendor.js": /^(web\/static\/vendor)|(deps)/
// }
//
// To change the order of concatenation of files, explicitly mention here
// order: {
// before: [
// "web/static/vendor/js/jquery-2.1.1.js",
// "web/static/vendor/js/bootstrap.min.js"
// ]
// }
},
stylesheets: {
joinTo: "css/app.css",
order: {
after: ["web/static/css/app.css"] // concat app.css last
}
},
templates: {
joinTo: "js/app.js"
}
},
conventions: {
// This option sets where we should place non-css and non-js assets in.
// By default, we set this to "/web/static/assets". Files in this directory
// will be copied to `paths.public`, which is "priv/static" by default.
assets: /^(web\/static\/assets)/
},
// Phoenix paths configuration
paths: {
// Dependencies and current project directories to watch
watched: [
"web/static",
"test/static"
],
// Where to compile files to
public: "priv/static"
},
// Configure your plugins
plugins: {
babel: {
// Do not use ES6 compiler in vendor code
ignore: [/web\/static\/vendor/]
},
sass: {
options: {
includePaths: [
'node_modules/foundation-sites/scss',
'node_modules/motion-ui/src'
]
}
}
},
modules: {
autoRequire: {
"js/app.js": ["web/static/js/app"]
}
},
npm: {
enabled: true,
globals: {
$: 'jquery',
jQuery: 'jquery',
},
whitelist: ["phoenix", "phoenix_html", "jquery", "jquery-validation", "foundation-sites"]
}
};
我通过将 foundation.min.js 复制到 web/static/vendor 找到了解决方案:
cp ./node_modules/foundation-sites/dist/js/foundation.min.js web/static/vendor/
将更改推送到 heroku,现在一切正常。