Vue.js / webpack 不创建构建文件?

Posted

技术标签:

【中文标题】Vue.js / webpack 不创建构建文件?【英文标题】:Vue.js / webpack creates no build file? 【发布时间】:2017-12-30 15:38:49 【问题描述】:

这可能是一个愚蠢的问题,但到底是什么。

我正在使用 vue-cli webpack-simple 模板,在这个项目的 webpack 配置中我发现以下内容:

output: 
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'build.js'
  ,

虽然没有构建文件。在运行 webpack 服务器时,我可以通过浏览器访问该文件。 build.js 文件是否只有在 webpack 开发服务器运行时可用?

这是 runtimestandalone 的定义吗?即使在查看了文档之后,我仍然很困惑确切的区别是什么。

我需要一个已编译的文件,因为我正在尝试发布一个已编译的文件以将我的包发布到 NPM。

干杯。

【问题讨论】:

webpack 服务器不会在磁盘上构建文件,它会在内存中完成所有工作。所以如果你想构建你需要执行“npm run build”。 @itacode 是否可以创建一个副作用以便它也将文件写入磁盘? 【参考方案1】:

运行

npm run build

这将创建一个包含build.js/dist 目录。

您可以在package.json 中查看可运行的脚本。 webpack-simple 模板只有runbuild。您需要复制 index.html 和 dist 文件夹。

当您使用npm run dev 进行开发时,您正在使用热模块重新加载,并且没有构建通过热模块服务器可用的临时js。

如果您只想构建一个文件组件,您可以使用vue-cli 的build command。

vue build Component.vue --prod --lib Component

其中Component 是单个文件组件的名称。这将生成一个仅包含您指定的组件的脚本文件。在您的 HTML 中包含该脚本并使用 `Vue.component("component", Component) 全局公开它。

【讨论】:

啊,我猜 webpack 在使用 vue-cli 项目时会因为热重载而在内存中运行所有内容?我只想转换一个组件(首先)什么是最简单的方法?我刚刚尝试过,构建文件包含所需的所有代码,而我只需要转换我创建的组件。 @Stephan-v 有两种方法可以轻松地将单个组件构建到脚本文件中。 vue-cli 有一个可以使用的build 命令。此外,编写 cli 的 build 部分的同一个人编写了一个名为 poi 的工具,它也可以做到这一点。 最后一个问题,你有什么转译多个组件甚至一个 Vuex 模块的技巧吗?

以上是关于Vue.js / webpack 不创建构建文件?的主要内容,如果未能解决你的问题,请参考以下文章

使用 vue js 使用 cdn 或使用 webpack 构建创建 MPA 的最有效方法是啥?

Vue.js + Webpack 请求多个不正确的资源 URL

Vue.js 和 Webpack,如何构建组件以实现可移植性

Vue.js / Webpack 使用 CSS 和 JS 的“静态”子域构建“index.html”

#yyds干货盘点#还不理不清Vue.js目录结构?2分钟我来带你了解

还不理不清Vue.js目录结构?别说你是学前端的❤❤