Vue.js 将外部库添加到vuejs

Vue.js 将外部库添加到vuejs,vue.js,Vue.js,我对web开发领域还不熟悉,最近开始深入研究,仍然对webpack在后台过程中是如何将内容连接起来的有着深刻的理解 我正在尝试让npm安装的wow.js在我所有的Vue组件中运行。所以我想知道如何在全球范围内包含wow.js,以便我未来的所有Vue组件都能够使用wow 我在我的index.html中包含了以下内容,但它不起作用 <script src="node_modules/wowjs/dist/wow.min.js"></script><script>n

我对web开发领域还不熟悉,最近开始深入研究,仍然对webpack在后台过程中是如何将内容连接起来的有着深刻的理解

我正在尝试让npm安装的wow.js在我所有的Vue组件中运行。所以我想知道如何在全球范围内包含wow.js,以便我未来的所有Vue组件都能够使用
wow

我在我的
index.html
中包含了以下内容,但它不起作用

<script src="node_modules/wowjs/dist/wow.min.js"></script><script>new WOW().init();</script>>  

您是如何创建项目的?使用vue cli?如果是这种情况,您只需键入'import packagename from'packagename',就可以使用它了。如果未使用vue cli。所以:从“wowjs”导入wow。试试看,如果它不起作用,您可能需要提供您的webpack.config。是的,我在webpack中使用了vue cli。在我的
main.js
上,尝试从“Wowjs”导入Wowjs,它抛出错误“Wowjs”已定义但从未使用”。包括我的网页配置。似乎是linting错误,但我不确定您需要在代码中调用wow的最佳实践是什么,否则它将抛出该错误(实际上,这更像是一个警告-您的代码仍然有效,警告是为了帮助您避免未使用的变量)。尝试使用该变量,警告就会消失。例如,
constwow=newwowjs({/*设置..*/});wow.init()
。现在,如果您使用了该变量,则linting错误将消失。您可能需要键入
const-wow=new-wow
来代替-尝试两者,我对wowjs及其从模块导出的方式不太熟悉。我不断收到错误
\uuuuuu WEBPACK\u IMPORTED\u module\u3\uWOWJS\uuuuuuu默认值。无论我尝试何种组合,a都不是构造函数。给出了什么?WowJS看起来不像是一个模块~你是如何创建你的项目的?使用vue cli?如果是这种情况,您只需键入'import packagename from'packagename',就可以使用它了。如果未使用vue cli。所以:从“wowjs”导入wow。试试看,如果它不起作用,您可能需要提供您的webpack.config。是的,我在webpack中使用了vue cli。在我的
main.js
上,尝试从“Wowjs”导入Wowjs
,它抛出错误“Wowjs”已定义但从未使用”。包括我的网页配置。似乎是linting错误,但我不确定您需要在代码中调用wow的最佳实践是什么,否则它将抛出该错误(实际上,这更像是一个警告-您的代码仍然有效,警告是为了帮助您避免未使用的变量)。尝试使用该变量,警告就会消失。例如,
constwow=newwowjs({/*设置..*/});wow.init()
。现在,如果您使用了该变量,则linting错误将消失。您可能需要键入
const-wow=new-wow
来代替-尝试两者,我对wowjs及其从模块导出的方式不太熟悉。我不断收到错误
\uuuuuu WEBPACK\u IMPORTED\u module\u3\uWOWJS\uuuuuuu默认值。无论我尝试何种组合,a都不是构造函数。给出了什么?看起来不像WowJS将自己呈现为一个模块~
<script src="//cdnjs.cloudflare.com/ajax/libs/wow/0.1.12/wow.min.js"></script><script>new WOW().init();</script>>
var path = require('path')
var utils = require('./utils')
var config = require('../config')
var vueLoaderConfig = require('./vue-loader.conf')

function resolve (dir) {
  return path.join(__dirname, '..', dir)
}

module.exports = {
  entry: {
    app: './src/main.js'
  },
  output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? config.build.assetsPublicPath
      : config.dev.assetsPublicPath
  },
  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src')
    }
  },
  module: {
    rules: [
      {
        test: /\.(js|vue)$/,
        loader: 'eslint-loader',
        enforce: 'pre',
        include: [resolve('src'), resolve('test')],
        options: {
          formatter: require('eslint-friendly-formatter')
        }
      },
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: vueLoaderConfig
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test')]
      },
      {
        test: /\.styl$/,
        loader: ['style-loader', 'css-loader', 'stylus-loader']
      },
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('img/[name].[hash:7].[ext]')
        }
      },
      {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
        }
      }
    ]
  }
}