#jquery #twitter-bootstrap #vue.js
Вопрос:
Сейчас я учусь создавать приложение Vue, и у меня возникли некоторые проблемы с загрузкой и Jquery
На веб-сайте, на котором будет развернуто приложение, уже будут загружены Bootstrap и Jquery как часть сайта, и я только собираюсь добавить это новое приложение Vue в раздел сайта.
Я немного подумал об этом, но большинство предложений состоит в том, чтобы включить Bootstrap-Vue в мою сборку Vue. Я не хочу этого делать, если мне не придется, с тех пор я снова включу Bootstrap на сайте.
Есть ли способ создать мое приложение Vue и скомпилировать его, чтобы оно не выдавало ошибку при компиляции?
Прямо сейчас я могу просто включить файл начальной загрузки css, js и jquery в index.html, но как только я использую Jquery, он не будет создаваться, потому что я, например, не включил его в проект :
$(".modal").modal("show")
Ответ №1:
Я думаю, нашел способ.
В vue.config.js (создайте, если такового нет) файл, добавьте следующее
module.exports = {
//...
configureWebpack: {
externals: {
jquery: 'jQuery',
}
}
};
И в компоненте, использующем Jquery, добавьте и импортируйте
import $ from 'jquery';
В вашем public/index.html файл добавить скрипт
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script
src="https://code.jquery.com/jquery-3.1.0.js"
integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk="
crossorigin="anonymous"
></script>
</body>
</html>