如何使用Webpack在Vue项目中导入bootstrap.bundle.min.js

时间:2019-01-31 05:12:06

标签: vue.js webpack bootstrap-4 vue-cli-3

我找到了将Bootstrap项目迁移到vue项目的工作。

我有bootstrap.bundle.min.js(v4.1.3)和css文件以及一堆第三或自定义的js库。 我已经完成以下导入这些文件的工作。

我在下面使用它导入css文件。

resource "azurerm_network_interface" "tf-ni-cluster" {
 count               = 2
 name                = "${ax_base_hostname}-ni-${count.index}"
 location            = "${azurerm_resource_group.tf-rg-cluster.location}"
 resource_group_name = "${azurerm_resource_group.tf-rg-cluster.name}"

 ip_configuration {
   name                          = "testConfiguration"
   subnet_id                     = "${azurerm_subnet.tf-sn-cluster.id}"
   private_ip_address_allocation = "dynamic"
    }
}

在main.js中,我想全局导入jquery和bootstrap.bundle.min.js。

terraform :
At line:1 char:1
+ terraform plan
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Error: azurerm_network_interface.tf-ni-cluster: 2 error(s) occurred:
* azurerm_network_interface.tf-ni-cluster[0]: invalid variable syntax: "ax_base_hostname". Did you mean 'var.ax_base_hostname'? If this is part of inline `template`
parameter
then you must escape the interpolation with two dollar signs. For
example: ${a} becomes $${a}.
* azurerm_network_interface.tf-ni-cluster[1]: invalid variable syntax: "ax_base_hostname". Did you mean 'var.ax_base_hostname'? If this is part of inline `template`
parameter
then you must escape the interpolation with two dollar signs. For
example: ${a} becomes $${a}.

我添加了webpack插件来解决“未定义$”(而且我不知道为什么在运行时会抛出此错误,而不是在编译时出现)

//App.vue
<style src="xxx.css"></style>

我将html标记更改为vue组件。 完成以上所有操作后,我仍然出现错误

//main.js
import 'jquery'
import 'popper.js'
import 'src/bootstrap/bootstrap.bundle.min.js'

感谢您对这种情况的发生以及解决方法的帮助。

1 个答案:

答案 0 :(得分:0)

webpack.ProvidePlugin数组中使用plugins的方式称为Shimming。 Here is the doc。我认为,当您拥有像Webpack这样的强大工具时,使用这种技术是一种不好的做法。您没有$可用,因为您需要这样导入:import $ from 'jquery'。因此,请确保已安装所有依赖项并将其导入模块中。

希望对您有所帮助。如果不只是在这里答复,我们将谈更多。祝你好运!