Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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_Angularjs_Require_Webpack - Fatal编程技术网

Javascript 多个网页包需要解析为同一文件,但需要导入两次

Javascript 多个网页包需要解析为同一文件,但需要导入两次,javascript,angularjs,require,webpack,Javascript,Angularjs,Require,Webpack,你好,我刚刚遇到了这个问题的网页。如果我在一个文件中执行require('../something'),然后在另一个文件中执行require('../something'),它们最终都解析为同一个文件。但是,如果您查看输出包,则会发现两个不同的webpack函数都具有相同的内容。我很确定我可以使用别名来修复这个问题,然后在两个文件中都执行require('something')。但这是正确的方法还是我遗漏了什么 顺便说一句,我需要它,因为它会导致angularjs取消定义我的控制器时出现一些问题

你好,我刚刚遇到了这个问题的网页。如果我在一个文件中执行
require('../something')
,然后在另一个文件中执行
require('../something')
,它们最终都解析为同一个文件。但是,如果您查看输出包,则会发现两个不同的webpack函数都具有相同的内容。我很确定我可以使用别名来修复这个问题,然后在两个文件中都执行
require('something')
。但这是正确的方法还是我遗漏了什么


顺便说一句,我需要它,因为它会导致angularjs取消定义我的控制器时出现一些问题。

您可以使用重复插件。它查找模块是否已经包含在您的构建中,如果已经包含,则不再包含它。它很容易设置,您不需要额外要求或安装任何东西

var webpack = require("webpack");

module.exports = {
    // more of your config
    // ...
    plugins: [
        new webpack.optimize.DedupePlugin()
    ]
};

直到我弄清楚alias的方法是否正确。如果您为javascript的根目录创建了一个别名,并用它作为所有需要的前缀。然后使用绝对路径而不是相对路径,文件所需的所有路径都将变为相同的路径,从而解决此问题。你能用这个问题创建一个模拟的网页包配置和文件吗?@BoopathiRajaa如果你给我一个模板,也许可以,但我有点忙。但为基本目录创建别名并始终使用该别名而不是相对路径可以修复此问题。这几个月来一直很有效,但这并不妨碍对一个模块进行两次评估。它只确保代码只存在一个副本(我尝试过,其他人也确认了:。