首页 > 解决方案 > webpack,限制可以导入的内容

问题描述

webpack 中有没有办法限制可以导入的文件?

假设我希望能够导入位于同一目录以及父目录中的文件,但该父目录上方没有任何文件?例如:

这些工作

import { blah } from "./script.js";

import { blah2 } from "./../gui/textbox.js";

import { blah3 } from  "./../I/can/go/as/deep/down/as/I/want/here.js";

但这行不通

import { passwords } from "./../../passwords.txt";

因为这会增加两个(或 x 个)目录,而不仅仅是一个。

标签: javascriptnode.jssecuritywebpackimport

解决方案


react-dev-utils有一个插件

这个 Webpack 插件确保来自应用程序源目录的相对导入不会到达它之外。

var path = require('path');
var ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');

module.exports = {
  // ...
  resolve: {
    // ...
    plugins: [
      new ModuleScopePlugin(paths.appSrc, [paths.appPackageJson]),
      // ...
    ],
    // ...
  },
  // ...
};

推荐阅读