vue-cli+vux+webpack项目启动失败

早上还好好的,吃个午饭回来发现项目起不了了~具体看看代码和报错情况。

node build/dev-server.js

/Users/At_plus/Desktop/Novel/node_modules/tapable/lib/Tapable.js:306

    arguments[i].apply(this);
                 ^

TypeError: arguments[i].apply is not a function

at Compiler.apply (/Users/At_plus/Desktop/Novel/node_modules/tapable/lib/Tapable.js:306:16)
at webpack (/Users/At_plus/Desktop/Novel/node_modules/webpack/lib/webpack.js:32:19)
at Object.<anonymous> (/Users/At_plus/Desktop/Novel/build/dev-server.js:26:16)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:575:3

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! novel@1.0.0 dev: node build/dev-server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the novel@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

配置文件就引入一个vux配置,这个是没有问题的,运行好几天了。

阅读 5.8k
2 个回答

找到问题了,具体是webpack配置中的plugins数组问题。



let webpackBaseConfig = {
entry: {

app: './src/main.js'

},
// entry: utils.getEntries('./src/module/*/.js'),
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: {
  'vue$': 'vue/dist/vue.esm.js',
  '@': resolve('src')
}

},
module: {

rules: [
  // {
  //   test: /\.(js|vue)$/,
  //   loader: 'eslint-loader',
  //   enforce: 'pre',
  //   include: [resolve('src'), resolve('test')],
  //   options: {
  //     formatter: require('eslint-friendly-formatter')
  //   }
  // },
  {
    test: /\.vue$/,
    loader: 'vue-loader',
    options: vueLoaderConfig
  },
  {
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test')]
  },
  {
    test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
    loader: 'url-loader',
    options: {
      limit: 10000,
      name: utils.assetsPath('img/[name].[hash:7].[ext]')
    }
  },
  {
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
    loader: 'url-loader',
    options: {
      limit: 10000,
      name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
    }
  },
  {
    test: /\.css$/,
    use: ["vue-style-loader", "css-loader"]
  },
  {
    test: /\.less$/,
    use: ["vue-style-loader", "css-loader", "less-loader"]
  },
  {
    test: /\.(scss|sass)$/,
    use: ["node-sass", "vue-style-loader", "css-loader", "sass-loader"]
  }
]

},
plugins: [
// {
// name:'duplicate-style'//在构建后取出重复css代码
// }
]
}

module.exports = vuxLoader.merge(webpackBaseConfig, {
plugins: ['vux-ui']
})

因为引入vux-ui,就出问题了。

其实这种东西用玄学来解释最好不过了,但是好像又不严谨。。

试一下删掉node_modules 然后重新npm install 试一下

还是不行再想其他办法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题