问题描述
我正在使用Laravel和Vue创建SPA,并尝试使用vue-pdf。我已经成功集成了几个npm软件包,但是这给了我错误:
Uncaught SyntaxError: Unexpected token '<'
当我在控制台中单击文件(worker.js)时,它似乎正在尝试对网站上的常规页面执行获取请求,而不是获取JavaScript,因此我的直觉是webpack不正确转换vue-pdf。我当前的webpack配置为:
const path = require('path')
const fs = require('fs-extra')
const mix = require('laravel-mix')
require('laravel-mix-versionhash')
// const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer')
mix
.js('resources/js/app.js','public/dist/js')
.sass('resources/sass/app.scss','public/dist/css')
.sass('resources/sass/flowy.scss','public/dist/css')
mix.babel([
'resources/js/helpers/Date.js','resources/js/helpers/LoginRedirect.js'
],'public/assets/js/combined.js')
.disableNotifications()
if (mix.inProduction()) {
mix
// .extract()
// .version()
.versionHash()
} else {
mix.sourceMaps()
}
mix.webpackConfig({
plugins: [
// new BundleAnalyzerPlugin()
],resolve: {
extensions: ['.js','.json','.vue'],alias: {
'~': path.join(__dirname,'./resources/js')
}
},output: {
chunkFilename: 'dist/js/[chunkhash].js',path: mix.config.hmr ? '/' : path.resolve(__dirname,'./public/build')
}
})
mix.then(() => {
if (!mix.config.hmr) {
process.nextTick(() => publishAseets())
}
})
function publishAseets () {
const publicDir = path.resolve(__dirname,'./public')
if (mix.inProduction()) {
fs.removeSync(path.join(publicDir,'dist'))
}
fs.copySync(path.join(publicDir,'build','dist'),path.join(publicDir,'dist'))
fs.removeSync(path.join(publicDir,'build'))
}
任何帮助将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)