webpack-wxapp-module-plugin icon indicating copy to clipboard operation
webpack-wxapp-module-plugin copied to clipboard

npm引入vant-app,build报错

Open bsaaa44 opened this issue 4 years ago • 0 comments

报错信息如下: ERROR in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxml Module build failed (from (webpack)-wxapp-module-plugin/wxml-loader.js): NonErrorEmittedError: (Emitted value instead of an instance of Error) ModuleNotFoundError: Module not found: Error: Can't resolve 'textarea.wxml' in '/Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field' at /Users/huyifan/Documents/MainAssistant/node_modules/webpack/lib/Compilation.js:925:10 at /Users/huyifan/Documents/MainAssistant/node_modules/webpack/lib/NormalModuleFactory.js:401:22 at /Users/huyifan/Documents/MainAssistant/node_modules/webpack/lib/NormalModuleFactory.js:130:21 at /Users/huyifan/Documents/MainAssistant/node_modules/webpack/lib/NormalModuleFactory.js:224:22 at /Users/huyifan/Documents/MainAssistant/node_modules/neo-async/async.js:2830:7 at /Users/huyifan/Documents/MainAssistant/node_modules/neo-async/async.js:6877:13 at /Users/huyifan/Documents/MainAssistant/node_modules/webpack/lib/NormalModuleFactory.js:214:25 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:213:14 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :13:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :13:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :25:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js:67:43 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :40:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/ModuleKindPlugin.js:30:40 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :13:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :13:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/forEachBail.js:30:14 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :13:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:44:7 at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :13:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :14:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/Resolver.js:285:5 at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :14:1) at /Users/huyifan/Documents/MainAssistant/node_modules/enhanced-resolve/lib/RootPlugin.js:37:38 at _next1 (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :6:1) at eval (eval at create (/Users/huyifan/Documents/MainAssistant/node_modules/tapable/lib/HookCodeFactory.js:33:10), :29:1) at /Users/huyifan/Documents/MainAssistant/node_modules/webpack/lib/NormalModule.js:313:13 at /Users/huyifan/Documents/MainAssistant/node_modules/loader-runner/lib/LoaderRunner.js:367:11 at /Users/huyifan/Documents/MainAssistant/node_modules/loader-runner/lib/LoaderRunner.js:233:18 at context.callback (/Users/huyifan/Documents/MainAssistant/node_modules/loader-runner/lib/LoaderRunner.js:111:13) at /Users/huyifan/Documents/MainAssistant/node_modules/webpack-wxapp-module-plugin/wxml-loader.js:22:22 at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:97:5)

ERROR in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxss Module build failed (from /Users/huyifan/Documents/MainAssistant/node_modules/less-loader/dist/cjs.js):

@import '../common/index.wxss';.van-field{--cell-icon-size:16px;--cell-icon-size:var(--field-icon-size,16px)}.van-field__label{color:#646566;color:var(--field-label-color,#646566)}.van-field__label--disabled{color:#c8c9cc;color:var(--field-disabled-text-color,#c8c9cc)}.van-field__body{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.van-field__body--textarea{box-sizing:border-box;padding:3.6px 0;line-height:1.2em;min-height:24px;min-height:var(--cell-line-height,24px)}.van-field__control:empty+.van-field__control{display:block}.van-field__control{position:relative;display:none;box-sizing:border-box;width:100%;margin:0;padding:0;line-height:inherit;text-align:left;background-color:initial;border:0;resize:none;color:#323233;color:var(--field-input-text-color,#323233);height:24px;height:var(--cell-line-height,24px);min-height:24px;min-height:var(--cell-line-height,24px)}.van-field__control:empty{display:none}.van-field__control--textarea{height:18px;height:var(--field-text-area-min-height,18px);min-height:18px;min-height:var(--field-text-area-min-height,18px)}.van-field__control--error{color:#ee0a24;color:var(--field-input-error-text-color,#ee0a24)}.van-field__control--disabled{background-color:initial;opacity:1;color:#c8c9cc;color:var(--field-input-disabled-text-color,#c8c9cc)}.van-field__control--center{text-align:center}.van-field__control--right{text-align:right}.van-field__control--custom{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;min-height:24px;min-height:var(--cell-line-height,24px)}.van-field__placeholder{position:absolute;top:0;right:0;left:0;pointer-events:none;color:#c8c9cc;color:var(--field-placeholder-text-color,#c8c9cc)}.van-field__placeholder--error{color:#ee0a24;color:var(--field-error-message-color,#ee0a24)}.van-field__icon-root{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;min-height:24px;min-height:var(--cell-line-height,24px)}.van-field__clear-root,.van-field__icon-container{line-height:inherit;vertical-align:middle;padding:0 8px;padding:0 var(--padding-xs,8px);margin-right:-8px;margin-right:-var(--padding-xs,8px)}.van-field__button,.van-field__clear-root,.van-field__icon-container{-webkit-flex-shrink:0;flex-shrink:0}.van-field__clear-root{font-size:16px;font-size:var(--field-clear-icon-size,16px);color:#c8c9cc;color:var(--field-clear-icon-color,#c8c9cc)}.van-field__icon-container{font-size:16px;font-size:var(--field-icon-size,16px);color:#969799;color:var(--field-icon-container-color,#969799)}.van-field__icon-container:empty{display:none}.van-field__button{padding-left:8px;padding-left:var(--padding-xs,8px)}.van-field__button:empty{display:none}.van-field__error-message{text-align:left;font-size:12px;font-size:var(--field-error-message-text-font-size,12px);color:#ee0a24;color:var(--field-error-message-color,#ee0a24)}.van-field__error-message--center{text-align:center}.van-field__error-message--right{text-align:right}.van-field__word-limit{text-align:right;margin-top:4px;margin-top:var(--padding-base,4px);color:#646566;color:var(--field-word-limit-color,#646566);font-size:12px;font-size:var(--field-word-limit-font-size,12px);line-height:16px;line-height:var(--field-word-limit-line-height,16px)}.van-field__word-num{display:inline}.van-field__word-num--full{color:#ee0a24;color:var(--field-word-num-full-color,#ee0a24)} ^ Unrecognised input. Possibly missing opening '{' Error in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxss (line 1, column 108)

ERROR in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/goods-action-button/index.wxss Module build failed (from /Users/huyifan/Documents/MainAssistant/node_modules/less-loader/dist/cjs.js):

@import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-goods-action-button{--button-warning-background-color:linear-gradient(90deg,#ffd01e,#ff8917);--button-warning-background-color:var(--goods-action-button-warning-color,linear-gradient(90deg,#ffd01e,#ff8917));--button-danger-background-color:linear-gradient(90deg,#ff6034,#ee0a24);--button-danger-background-color:var(--goods-action-button-danger-color,linear-gradient(90deg,#ff6034,#ee0a24));--button-default-height:40px;--button-default-height:var(--goods-action-button-height,40px);--button-line-height:20px;--button-line-height:var(--goods-action-button-line-height,20px);--button-plain-background-color:#fff;--button-plain-background-color:var(--goods-action-button-plain-color,#fff);display:block;--button-border-width:0}.van-goods-action-button--first{margin-left:5px;--button-border-radius:20px 0 0 20px;--button-border-radius:var(--goods-action-button-border-radius,20px) 0 0 var(--goods-action-button-border-radius,20px)}.van-goods-action-button--last{margin-right:5px;--button-border-radius:0 20px 20px 0;--button-border-radius:0 var(--goods-action-button-border-radius,20px) var(--goods-action-button-border-radius,20px) 0}.van-goods-action-button--first.van-goods-action-button--last{--button-border-radius:20px;--button-border-radius:var(--goods-action-button-border-radius,20px)}.van-goods-action-button--plain{--button-border-width:1px}.van-goods-action-button__inner{width:100%;font-weight:500!important;font-weight:var(--font-weight-bold,500)!important}@media (max-width:321px){.van-goods-action-button{font-size:13px}} ^ Unrecognised input. Possibly missing opening '{' Error in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/goods-action-button/index.wxss (line 1, column 788)

ERROR in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxml Module not found: Error: Can't resolve 'input.wxml' in '/Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field' @ /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxml input.wxml

ERROR in /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxml Module not found: Error: Can't resolve 'textarea.wxml' in '/Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field' @ /Users/huyifan/Documents/MainAssistant/node_modules/@vant/weapp/lib/field/index.wxml textarea.wxml

webpack配置如下:

/**
 * 名称:微信小程序工程打包配置文件
 * 日期:2017-12-18
 * 描述:
 *     1.使工程支持es6-es7语法,
 *     2.使微信小程序能使用node_modules
 *     3.实现脚本打包与压缩以及图片压缩
 */
const path = require('path')
const webpack = require('webpack')
const config = require('./index');
const CopyPlugin = require('copy-webpack-plugin');

const isProduction = process.env.NODE_ENV === 'production';
//插件
//微信小程序插件
// const WxappModulePlugin = require('webpack-wxapp-module-plugin/index');
var WxappModulePlugin  =require('webpack-wxapp-module-plugin');
//兼容vscode 盘符大小写问题(windows)
const ConflictPlugin = require('./plugins/conflict');
//清除插件
var CleanWebpackPlugin = require('clean-webpack-plugin')

//开发环境插件
var devPlugins = []

//生产环境插件
var productionPlugins = [
  new CleanWebpackPlugin('*', {
    root: config.dist
  })
]
module.exports = {
  devtool: isProduction ? '' : 'source-map',
  name: 'assistant',
  mode: isProduction ? 'production' : 'development',
  context: config.src,
  stats: {
    children: false,
    chunks: false,
    assets: false,
    modules: false
  },
  target: "node",
  entry: {
    'app': [
      './app.js'
    ]
  },
  output: {
    path: config.dist,
    filename: '[name]',
    chunkFilename: '[name]',
    libraryTarget: "commonjs2",
    publicPath: ''
  },
  plugins: [
    new ConflictPlugin(),
    new webpack.ProgressPlugin(),
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify(isProduction ? 'production' : 'development'),
      }
    }),
    new WxappModulePlugin('npm_modules', ['.scss']),
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: process.env.NODE_ENV
      }
    }),
    new webpack.NoEmitOnErrorsPlugin(),
    new CopyPlugin([{
      from: path.resolve('packages/app/sitemap.json'),
      to: config.dist
    }, {
      from: path.resolve('packages/app/weui.wxss'),
      to: config.dist
    }, 
    // {
    //   from: path.resolve('app.json'),
    //   to: config.dist,
    //   force: true
    // },{
    //   from: path.resolve('plugins'),
    //   to: path.resolve(config.dist,'./plugins'),
    //   force: true
    // }
  ])
  ].concat(isProduction ? productionPlugins : devPlugins),
  module: {
    rules: [{
        // 使用babel编译js
        test: /\.js$/,
        
        include: [
          /packages/,
          /dantejs/
        ],
        use: [{
          loader: 'babel-loader',
          options: {
            cacheDirectory: true,
            presets: config.presets,
            plugins: config.plugins
          }
        }]
      },
      {
        test: /\.wxs$/,
        
        use: [{
          loader: 'file-loader',
          options: {
            name: '[path][name].wxml',
            esModule: false,
          }},
          'webpack-wxapp-module-plugin/wxs-loader'
        ],
      },
      //使用file-loader处理资源文件复制
      {
        test: /\.(wxss)$/,
        
        use: [{
          loader: 'file-loader',
          options: {
            name: '[path][name].[ext]',
          },
        }],
      },
      {
        test: /\.(scss|wxss)$/,
        
        use: [{
            loader: 'resolve-url-loader',
          },
          {
            loader: 'less-loader', // compiles Less to CSS
          },
        ]
      }, {
        // 图片类型模块资源访问
        test: /\.(png|jpg|jpeg|gif|webp|bmp|ico|jpeg)$/,
        
        use: [{
          loader: 'file-loader',
          options: {
            name: '[path][name].[ext]'
          }
        }, ].filter(function (loader) {
          return !!loader
        }),
      },
      //使用wxml-loader处理.wxml文件,主要用于搜索引用的图片等资源
      {
        test: /\.wxml$/,

        use: [{
            loader: 'file-loader',
            options: {
              name: '[path][name].wxml',
            },
          },
          'webpack-wxapp-module-plugin/wxml-loader',

          {
            loader: 'wxml-layout-loader',
            options: {
              app: path.resolve('app/app.json'),
              layout: path.resolve('app/app.wxml')
            },
          },
        ],
      }
    ]
  }
}

bsaaa44 avatar May 06 '21 02:05 bsaaa44