【发布时间】:2017-12-13 04:15:53
【问题描述】:
有没有可以像这样采用.vue 模板的工具:
<template>
<div>Hello, {{ thing }}</div>
</template>
<script>
export default {
data() { return { thing: 'World' }; }
}
</script>
<style>
div { background: red; }
</style>
并将其转换为.js 文件,如下所示:
export default {
template: `
<div>Hello {{ thing }}</div>
`,
data() {
return {
thing: 'World'
}
}
}
(不确定它对 CSS 有什么魔力,但它会做一些事情。)
我正在尝试使用本地浏览器模块,效果很好,但我想使用.vue 文件语法,因为它提供了一些不错的东西。我想避免使用像 Webpack 或 Browserify 这样的打包工具。
我正在使用 Babel。我有transform-vue-jsx 插件,但是不能处理.vue 格式,只能转换JSX。
【问题讨论】:
-
正如所写的,您的问题听起来很像您自己还没有搜索过这个问题?另外,根据您问题的最后一部分,听起来很像您提出了XY problem,您真正的问题应该是“我如何在
.vue文件中制作babel/webpack/etc 捆绑包”,因为这就是您'最终试图解决。例如,github.com/vuejs/vue-loader 如果是 babel + webpack,那么 google 很容易找到。 -
@Mike OP 说他们宁愿避免使用 Webpack 或 Browserify,否则 Webpack 肯定是要走的路。
-
要反驳“先去哪里解决方案,然后看看你是否仍然不开心”,因为人们已经将使用捆绑器的过程几乎变成了一个预制解决方案现在所有流行的框架。当你已经在使用 babel 时不想使用 webpack/browserify 有点像在马已经狂奔时关上谷仓的门。
-
@Mike'Pomax'Kamermans 我确实做了很多搜索,并且遇到了 webpack 和 browserify 解决方案。它们是不容错过的,它们从单个文件组件的文档开始,并且几乎出现在每个 google 搜索中。但是,正如我所说,我特别不想捆绑,这就是这两个工具所做的。出于某些特定原因,我正在尝试使用新的本机模块功能。不想捆绑与使用 Babel 获得最新最好的 JS 语法支持无关。
-
@Mike 我还想指出,我偶然发现这个问题的原因与 OP 提出的不同,但我专门寻找 OP 所问的问题。有时一个问题可能看起来像“您要求 foo,但您真正想要的是 bar”,但对于发布者和整个社区来说,回答最初提出的问题仍然有价值 - 你永远不知道何时有人确切需要那个。
标签: javascript vue.js babeljs