Javascript Vue:如何使用Vue cli服务为Nuxt构建捆绑包?
用户试图使用nuxt.js,但出现错误:Javascript Vue:如何使用Vue cli服务为Nuxt构建捆绑包?,javascript,vue.js,nuxt.js,vue-cli,Javascript,Vue.js,Nuxt.js,Vue Cli,用户试图使用nuxt.js,但出现错误:未定义文档 我找到了第一个问题。当我使用“build bundle”构建捆绑包时:“vue cli服务构建--目标库--名称索引。/src/index.js”, 正在使用vue样式加载程序。但是,这会导致使用nuxt项目时出错。这一部分失败了: function addStyle (obj /* StyleObjectPart */) { var update, remove var styleElement = document.querySel
未定义文档
我找到了第一个问题。当我使用“build bundle”构建捆绑包时:“vue cli服务构建--目标库--名称索引。/src/index.js”,
正在使用vue样式加载程序。但是,这会导致使用nuxt项目时出错。这一部分失败了:
function addStyle (obj /* StyleObjectPart */) {
var update, remove
var styleElement = document.querySelector('style[' + ssrIdKey + '~="' + obj.id + '"]')
未定义文档,因为我们正在使用服务器呈现。但问题是如何构建我的包,以便与nuxt一起使用
我需要:
- index.common.js
- index.umd.js
- index.umd.min.js
process.client
变量
例如,在.vue
文件中:
if(process.client){
require('external_library')
//做点什么
}
以上是文档未定义的基本解决方案
我检查了一些信息,发现这个问题不是由你的包裹引起的。事实上,问题在于用户的nuxt项目中的缓存加载程序包。
由于某些原因,缓存加载程序错误地将当前环境确定为浏览器
,而不是节点
,因此vue样式加载程序
被混淆并使用客户端实现
因此,请尝试让用户将以下配置添加到numxt.config.js
文件中,以禁用服务器端的样式表缓存:
构建:{
...
是的,
扩展(配置,{isServer,isDev,isClient}){
...
如果(isServer){
for(config.module.rules.filter({test})的常量规则=>
/\.((c | le | sa | sc)ss | styl.*)/.test(test.toString())
)) {
for(const rule of rules.oneOf | |【】){
rule.use=rule.use.filter(
({loader})=>loader!=='cache loader'
)
}
}
}
...
}
...
}
我找到了一个解决方案,但它没有使用vue cli
服务。相反,这些文件是通过汇总
编译的。我发现使用这项服务要容易得多。cli
服务的唯一问题是它会调整回购的“流量”。但是,您可以修改rollup.config.js
来修改文件夹结构
汇总的问题在于它不是网页包。因此,需要调整使用网页包配置的所有组件,或者修改rollup.config.js,以包括附加功能Im有相同问题-有任何问题luck@Jujubes运气不好:(如果你找到了一个解决方案,请不要害羞,把它贴在这里!我还没有找到任何东西-花了几个小时玩弄配置文件和搜索互联网,没有任何成功的奖励-希望你有没有尝试过通过vue.config.js中的CSS:{extract:false}
内联CSS作为“错误”这可能是一个不错的解决办法。这不是答案阅读问题和评论-请不要复制和粘贴网上现成的内容。问题是如何使用Vue:如何使用Vue cli服务为Nuxt构建捆绑包?`关于汇总的文档离webp还很远ack
也可以。我还发现使用sfc init
方法会带来过时的包。我会在之后更新