Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将加载程序应用于特定文件_Javascript_Webpack - Fatal编程技术网

Javascript 将加载程序应用于特定文件

Javascript 将加载程序应用于特定文件,javascript,webpack,Javascript,Webpack,下面我将使用webpack捆绑jQuery的部分内容 // webpack.config.js module.exports = { entry: './entry', output: { filename: 'bundle.js' }, module: { loaders: [ { test: /jquery\/src\/selector\.js$/,

下面我将使用webpack捆绑jQuery的部分内容

// webpack.config.js
module.exports = {
    entry: './entry',
    output: {
        filename: 'bundle.js'
    },
    module: {
        loaders: [
            { 
                test: /jquery\/src\/selector\.js$/, 
                loader: 'amd-define-factory-patcher-loader' 
            }
        ]
    }
};
由于AMD问题,
node\u modules/jquery/src/selector.js
需要自己的加载程序。但是加载程序没有被应用。我在windows下运行,可能需要调整regexp?我试过不同的表达方式,但没有成功

对如何调试有什么建议吗?新的网页包

根据建议,我补充说:

profile: true,
stats: {
  reasons: true,
  chunkModules: true,
  chunkOrigins: true,
  modules: true,
  cached: true,
  cachedAssets: true,
  source: true,
  errorDetails: true,
  publicPath: true,
  excludeModules: [
    /e\.js/
  ]
运行
webpack--显示模块

Hash: 4a092c0d4d9e158a9bd7
Version: webpack 1.10.1
Time: 970ms
    Asset    Size  Chunks             Chunk Names
   bundle.js  876 kB       0  [emitted]  main
[0] ./entry.js 529 bytes {0} [built]
   factory:13ms building:12ms = 25ms
...
[14] ./~/jquery/src/traversing/var/rneedsContext.js 110 bytes {0} [built]
   [0] 25ms -> [11] 161ms -> [13] 473ms -> factory:196ms building:3ms dependencies:1ms = 859ms
[15] ./~/jquery/src/selector.js 33 bytes {0} [built]
   [0] 25ms -> [16] 172ms -> factory:449ms building:180ms = 826ms
[16] ./~/jquery/src/manipulation.js 15 kB {0} [built]
   [0] 25ms -> factory:16ms building:156ms dependencies:443ms = 640ms
...

没有错误。没有任何真正的价值。

不确定您是否自己找到了解决方案,但是根据原版文章的评论部分:

在Windows上运行时,正确的正则表达式为:

test: /jquery\\src\\selector\.js$/, loader: "amd-define-factory-patcher-loader"

希望有帮助

显然,Webpack没有规范化路径分隔符,因此我们必须修改正则表达式以适应Windows风格的目录分隔符

这里有一个独立于平台的正则表达式,您可以使用它,因此它可以在*nix系统和Windows上工作

{ test: /jquery[\\\/]src[\\\/]selector\.js$/, loader: 'amd-define-factory-patcher-loader' }
我还更新了博客帖子以使用此表单。如果你继续有麻烦,让我知道


完全披露:我写了这个问题所指的博客帖子,今天碰巧发现了这个问题。

你打开了
config.stats
中的所有诊断消息了吗?这样你就可以看到加载程序是否被命中了。你是在说配置文件选项吗?不管怎么说,我相当肯定它永远不会被调用。事实上,我可以输入一个假名字,但仍然没有错误。虽然没有很好的文档记录,但这里有一个例子。你能给我举一个模块输出代码的例子吗?哇。对一个三年前提出的问题进行的投票。有些人只是手头有太多的时间。