在Nuxt中1.4.2,我有以下内容nuxt.config.js:
build: {
vendor: ['babel-polyfill'],
babel: {
presets: [
['vue-app', {
useBuiltIns: true,
targets: { ie: 11, uglify: true },
},
],
],
},
},
Run Code Online (Sandbox Code Playgroud)
似乎所有这些都在Nuxt中被打破了2.0.至少我希望polyfill足以让IE 11正常工作.这是我尝试过的:
删除build.babel允许构建过程工作:
build: {
vendor: ['babel-polyfill'],
},
Run Code Online (Sandbox Code Playgroud)
但我认为 build.vendor现在只是被忽略了,所以这似乎什么都不做.
我尝试添加:
script: [
{ src: 'https://cdn.polyfill.io/v2/polyfill.min.js' },
],
Run Code Online (Sandbox Code Playgroud)
对我head,以及:
render: {
resourceHints: false,
},
Run Code Online (Sandbox Code Playgroud)
禁用preload提示(我不确定这是否重要).这会导致页面看起来正确 - polyfill.min.js在所有其他脚本之前加载.不知何故,当我在ie11上测试时,Object.entries未定义且页面爆炸.
使用Nuxt开发通用 JS 应用程序,我尝试配置webpack 的开发代理,以便仅在开发中请求/api代理到http://127.0.0.1:500/api到达 Python REST API 的位置。按照 Nuxt 文档,我扩展了 webpack 配置,如下nuxt.config.js所示:
build: {
extend (config, { isDev }) {
// Proxy /api to Python only in dev
if (isDev) {
const devServer = {
proxy: {
'/api': 'http://127.0.0.1:5000'
}
}
config.devServer = devServer;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我记录配置,我会看到正在应用更改:
...
devServer: { proxy: { '/api': 'http://127.0.0.1:5000' } } }
...
Run Code Online (Sandbox Code Playgroud)
然而,当我访问http://127.0.0.1:8080/api/things时,我的 Nuxt 应用程序被返回(它在开发中的端口 8080 上运行),表明 …
我正在开发nuxt-edge++auth.nuxt项目vuex,在nuxtServerInit商店的方法中我只在控制台中记录一条消息。当站点重新加载时,该消息会被打印多次。这似乎只发生在dev模式下。
我读过有关使用node_modulesNuxt 进行转译的问题,但据说新的 Nuxt 2 已经通过文件transpile中的选项解决了这个问题nuxt.config.js。
https://nuxtjs.org/api/configuration-build/#transpile
这是我所拥有的:
export default {
router: {
base: '/',
},
build: {
transpile: [
'choices.js',
'lazysizes',
'swiper',
'vee-validate'
],
extractCSS: true
},
srcDir: 'src/',
performance: {
gzip: true
},
render: {
compressor: {
threshold: 100
}
},
dev: false
}
Run Code Online (Sandbox Code Playgroud)
为了方便阅读,我删除了一些不相关的内容。
当我运行npm run build( nuxt build) 时,编译后的 JS 文件包含对 es6 和 es7 代码的引用,例如const和let等var。
我已将此问题隔离为来自Swiper。它似乎在内部依赖于一个名为 Dom7 的东西,而这个东西似乎导致了这个问题。
如果可能的话,我想将这些node_modules …