3

我需要使用 webpack 将一些 javascript 文件作为纯文本导入。

所有文件都有一个特定的扩展名说:.mytype.js.

我使用以下方法为这些文件创建了一个加载器:

module.loaders = [{
  test: /\.mytype.js?$/,
  exclude: /(node_modules|bower_components|public\/)/,
  loader: "mytype-loader"
}, ....]

我已经注册了一个别名来解析我自己的加载器

resolveLoader : {
  alias : {
    'mytype-loader' : path.resolve(__dirname, 'myloader.js')  
  }
}

目前myloader.js看起来是这样的:

module.exports = source => {
  console.log(source)
  return(source)
}

对于我的开发服务器,我有以下设置:

   devServer: {

  watchOptions : {

    // I THOUGHT THIS WOULD STOP HOTLOAD CODE BEING ADDED??!
    ignored : path.resolve(__dirname, 'mytypeFiles')
  },

  contentBase: CONTENT_BASE,
  noInfo: true,
  hot: true,
  inline: true,

  port: PORT,
  headers : { 'Access-Control-Allow-Origin' : 'http://localhost:8888'},
  host: HOST
  },

我所有带有扩展名的文件.mytype.js都在mytypeFiles目录中。问题是当我运行它时,我从加载器中得到以下输出console.log

'use-strict';

function run(args, resources, meta) {
     // a bunch of my code

}
;

var _temp = function () {
    if (typeof __REACT_HOT_LOADER__ === 'undefined') {
            return;
    }

    __REACT_HOT_LOADER__.register(run, 'run', 'D:/manatee-latest/manatee/src/bandicoot/resource-api/bandicoot-functions/run.bandicoot.js');
}();

然而use-strict;并附加了第一个函数定义(这是我的)之后的所有内容。如何阻止此热加载程序代码预先和后固定到我的源代码?

提前致谢!

4

0 回答 0