Vue.js 构建要在非Vue应用程序中运行的Vue库

Vue.js 构建要在非Vue应用程序中运行的Vue库,vue.js,build,Vue.js,Build,我需要用Vue应用程序创建一个Vue库。我需要它,这样我就可以包括它,并在没有安装Vue的站点上运行整个应用程序。也就是说,库需要是独立的 根据vue网站上的文档,它说 关于Vue依赖性的说明 在web组件模式下,Vue是外部化的。这意味着即使您的代码导入Vue,捆绑包也不会捆绑Vue。捆绑包将假定Vue在主机页上作为全局变量可用 我希望Vue的构建不依赖于Vue。我的主机页不能将Vue作为全局对象 用传统的说法,我希望应用程序‘编译’成js。这可能吗?您应该使用或将Vue.js库捆绑为模块,该

我需要用Vue应用程序创建一个Vue库。我需要它,这样我就可以包括它,并在没有安装Vue的站点上运行整个应用程序。也就是说,库需要是独立的

根据vue网站上的文档,它说

关于Vue依赖性的说明

在web组件模式下,Vue是外部化的。这意味着即使您的代码导入Vue,捆绑包也不会捆绑Vue。捆绑包将假定Vue在主机页上作为全局变量可用

我希望Vue的构建不依赖于Vue。我的主机页不能将Vue作为全局对象

用传统的说法,我希望应用程序‘编译’成js。这可能吗?

您应该使用或将Vue.js库捆绑为模块,该模块本质上是一个完全包含的代码,没有任何外部依赖关系

例如,如果您是,通常会:

const path = require('path');

module.exports = {
  entry: './src/lib.js',

  output: {

    // Bundle will be generated in `dist` folder
    path: path.resolve(__dirname, 'dist'),

    // This will the name of your library's bundled file
    filename: 'lib-bundle.js',

    // Your own library will be available globally with `LibName`
    library: 'LibName',

    // Ensure to generate UMD bundle
    libraryTarget: 'umd'
  },
  externals: { /* MAKE SURE THAT EXTERNALS IS EMPTY */ }
};

在上面的配置中,由于config externals为空,Webpack将把所有依赖项(包括Vue和其他依赖项)捆绑到最终的库捆绑包中,以便您的主机环境不需要Vue可用。

谢谢。。我投了你一票,但我没有在这个网站上的代表来显示。。我带着webpack去了,这是一种享受。然而,汇总看起来很棒。也许是下一个项目。@DoblyTufnell,没关系。很高兴它帮助了你。考虑一下它是否适合你。