vue.js - 包括来自模块的静态资产
问题描述
我正在尝试(截至目前)最新版本的 vue-cli,但在导入静态资产时遇到了问题。我的设置几乎是一个默认的新项目,只选择了 vuex,我的第一个目标是获得一个运行语义 ui 的无聊模板。这也意味着 jQuery 的语义 ui 取决于它。
为此,我将此脚本部分添加到主 App.vue
<script>
require('~/jquery/dist/jquery.min.js');
require('./semantic/dist/semantic.js');
</script>
..遵循此处解释的 URL 转换规则。我的(部分)文件夹结构是:
node_modules
jquery
dist
jquery.min.js
src
semantic
dist
semantic.min.js
运行npm run serve
确实找到语义但不是 jquery。有人能告诉我为什么这种包含静态资产的提议方法在这种情况下不起作用吗?
编辑澄清:我的问题是关于这个建议的导入方法和 URL 转换规则。对于任何需要某种方法来使其工作的人,我目前正在使用它作为解决方法:
<script>
import jQuery from 'jquery';
window.$ = window.jQuery = jQuery;
require('./semantic/dist/semantic.js');
export default {
}
</script>
解决方案
如果您正在使用webpack
. 还有另一种方法可以使用 jQuery 将 jQuery 作为全局变量ProvidePlugin
。您可以添加到您的webpack.base.conf.js
module.exports = {
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jquery: 'jquery',
'window.jQuery': 'jquery',
jQuery: 'jquery'
})
]
}
如果您使用的是 Eslint,则需要添加.eslintrc.js
module.exports = {
globals: {
"$": true,
"jQuery": true
},
...
推荐阅读
- laravel - 如何告诉 Laravel Eloquent 在同一个模型中不止一对多?
- android - 跟踪归因活动的 Android Apk 下载源(不是 Google Play)
- excel - 如何将具有白色填充的单元格更改为无填充?
- mysql - MySql 自定义选择与连接表
- oauth - 如何使用 Keycloak 将查询参数转发给外部身份提供者?
- uwp - 在 4K 显示器上运行的 UWP 应用程序因 E_RUNTIME_SETVALUE 错误而崩溃
- django - Django Rest 框架 - 过滤 URL - get() 得到一个意外的关键字参数“用户名”
- html - 对 Bootstrap css 网格、flex 和行布局感到困惑
- javascript - 如何从类(父)中获取 ID(子)的名称列表
- javascript - 清除日期选择器字段