微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Webpack不会排除在排除数组中指定的文件

如何解决Webpack不会排除在排除数组中指定的文件

我有一个很大的配置文件,要从构建中排除,我想以两个文件结束:

--bundle.js
--config.js

我尝试了多种方法

排除文件

rules: [
  {
    test: /\.js$/,exclude: [/node_modules/,/config\.js/]
  }
]

或具有绝对路径

rules: [
  {
    test: /\.js$/,path.join(__dirname,"config.js")]
  }
]

文件放入目录中,但不包括目录:

rules: [
  {
    test: /\.js$/,/config/]
  }
]

但是它总是包含在最终版本中。

现在(由于我在其他问题中看到过)而提起这个文件可能很重要,因为我的一个应用程序文件中都需要此文件。 config.js文件包含一个大的javascript对象,它需要config对象需要的其他文件中的其他类(在捆绑软件的其他位置及其所有配置逻辑中均未使用)。我也尝试过也排除该目录,但这也不起作用。

我猜我想做的只是让捆绑包保留“ config.js”,这样它就可以作为一个补充文件,以便在其余的时候仍然可以使用它。文件是捆绑在一起的。

编辑:现在,我正在考虑它,我知道认情况下不包括.json文件,如果我用fs读取它而不是需要config.js文件怎么办?所以它仍然是必需的,但不需要“ require”吗?

解决方法

我能够通过使用readFileSync和eval来做到这一点:

const jsFile = eval(fs.readFileSync("./jsFile.js","utf-8"));

请记住,如果您需要该文件中的其他文件,则路径会更改!它们将相对于jsFile.js,但相对于读取jsFile.js

的文件

此后,您只需将所有文件包含在相对于捆绑包的相同层次结构中,就如同捆绑捆绑包之前在项目中一样。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。