可以从模块和webpack配置中单独使用src吗?

时间:2017-04-06 08:23:37

标签: javascript node.js webpack

我的应用程序与package.json中安装的模块的文件夹结构不同,我找不到让它工作的方法:

结构:

  • 包括
    • 构建
      • 构建东西
    • SRC
      • 共享资产
        • JS ... APP(该应用程序仍然是一些文件夹)

如何指定模块位于某处且应用程序位于其他位置?这甚至可能吗?如果我在构建设置的位置设置我的应用程序的src,一切都按预期工作。

我的简单webpack配置在哪里。

var getters = require('./../gulpfile.js/config/getters');
var path = require('path');
var appRoot = path.resolve(__dirname, '../src');
var appRoot2 = path.resolve(__dirname,     '../../main/jcr_root/etc/designs/fit/includes/shared_assets/js/vueapps/chat_app/src');

module.exports = {
   context: appRoot2,
   entry: './main.js',
   output: {
       filename: 'app.js',
       path: getters.js.vue.apps.chatapp.dist
   },
   module: {
       loaders: [
           {
              test: /\.vue$/,
              loader: 'vue-loader',
              exclude: /node_modules/
           },
           {
              test: /\.js$/,
              loaders: 'babel-loader',
              exclude: /node_modules/
           }
       ]
   },
   resolve: {
       modules: [
          'node_modules'
       ]
   }
};  

我知道我有 appRoot appRoot2 appRoot 按预期工作, appRoot2 无法提供我这个错误。

找不到输入模块中的错误:错误:无法解决' babel-loader'在......

编辑:忘了提及我使用: " vue-loader":" ^ 9.4.0"。 " webpack":" ^ 2.2.0"。 " babel-loader":" ^ 6.3.2"。

EDIT2:搞定了,必须指定其他选项:

 resolveLoader: {
    modules: [
        nodeRoot
    ],
 }

另外在加载程序中必须添加此选项:

 {
     test: /\.js$/,
     loaders: 'babel',
     exclude: /node_modules/,
     query: {
          presets: [nodeRoot + '/babel-preset-es2015'],
     }
 } 

使用预设的路径。

0 个答案:

没有答案