F-loat / mpvue-entry

⛓️ 集中式页面配置,统一构建入口,支持新增页面热更新
MIT License
353 stars 56 forks source link

npm run dev报错 #105

Closed keycz closed 5 years ago

keycz commented 5 years ago

Module build failed: Error: Final loader didn't return a Buffer or String @ ./src/components/card.vue 10:0-322 @ ./node_modules/babel-loader/lib!./node_modules/mpvue-loader/lib/selector.js?type=script&index=0!./node_modules/mpvue-config-loader!./src/pages/index.vue @ ./src/pages/index.vue @ ./node_modules/mpvue-entry/dist/pagesIndex.js

@ ./src/pages/counter.vue 10:0-373 @ ./node_modules/mpvue-entry/dist/pagesCounter.js

@ ./src/packageA/logs.vue 10:0-370 @ ./node_modules/mpvue-entry/dist/packageALogs.js

viryHd commented 5 years ago

把eslint的相关配置删掉

keycz commented 5 years ago

把eslint的相关配置删掉

@viryHd 在项目初始化时没有选择eslint啊

viryHd commented 5 years ago

但是在配置项里面,webpack.config里面还有关于eslint的配置,作用于所有的js,你找找。就是在配置loader的那里。现在不方便拉项目截图,你看看把,搜索一下也行

keycz commented 5 years ago

@viryHd 大佬 ,在webpack.config里并没有找到eslint相关内容,请问你是在哪里改的?

viryHd commented 5 years ago

snipaste_2019-01-31_09-52-34 这一整段,删掉就好了

keycz commented 5 years ago

snipaste_2019-01-31_09-52-34 这一整段,删掉就好了

@viryHd 这是整个文件的内容,确实没有。 `const path = require('path') const MpvuePlugin = require('webpack-mpvue-asset-plugin') const MpvueEntry = require('mpvue-entry') const CopyWebpackPlugin = require('copy-webpack-plugin') const utils = require('./utils') const config = require('../config') const vueLoaderConfig = require('./vue-loader.conf')

function resolve (dir) { return path.join(__dirname, '..', dir) }

const entry = MpvueEntry.getEntry('src/app.json')

module.exports = { entry, target: require('mpvue-webpack-target'), output: { path: config.build.assetsRoot, filename: '[name].js', publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath }, resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': resolve('src'), vue: 'mpvue' }, symlinks: false, aliasFields: ['mpvue', 'weapp', 'browser'], mainFields: ['browser', 'module', 'main'] }, module: { rules: [ { test: /.vue$/, loader: 'mpvue-loader', options: vueLoaderConfig }, { test: /.vue$/, loader: 'mpvue-config-loader', exclude: [resolve('src/components')] }, { test: /.js$/, include: resolve('src'), use: [ 'babel-loader', { loader: 'mpvue-loader', options: { checkMPEntry: true } }, ] }, { test: /.(png|jpe?g|gif|svg)(\?.)?$/, loader: 'url-loader', options: { name: utils.assetsPath('img/[name].[ext]') } }, { test: /.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('media/[name].[ext]') } }, { test: /.(woff2?|eot|ttf|otf)(\?.)?$/, loader: 'url-loader', options: { name: utils.assetsPath('fonts/[name].[ext]') } } ] }, plugins: [ new MpvuePlugin(), new MpvueEntry(), new CopyWebpackPlugin([ { from: path.resolve(dirname, '../static'), to: path.resolve(dirname, '../dist/static'), ignore: ['.'] } ]), new CopyWebpackPlugin([ { from: resolve('node_modules/vant-weapp/dist'), to: resolve('dist/vant-weapp/dist'), ignore: ['.*'] } ]) ] } `

keycz commented 5 years ago

用mpvue官方的项目模板,独立安装mpvue-entry后搞定了

F-loat commented 5 years ago

初始化后就报错的话,提供下初始化时的选项

spencer1994 commented 5 years ago

@F-loat 应该是mpvue-entry不兼容最新的mpvue@1.0.20,换成1.0.13还是没问题的

F-loat commented 5 years ago

这个问题今天也遇到了,应该和 mpvue-entry 无关,其他 mpvue 相关的依赖统一更新下就行