网页包,正在覆盖sass

网页包,正在覆盖sass,sass,webpack,webpack-style-loader,Sass,Webpack,Webpack Style Loader,首先,我会说我有一个奇怪的网页包构建。我有两个项目,主项目和共享项目(像一个公共库) 每当我从主项目中引用我的共享项目时,就会出现一些奇怪的IE only/react/webpack构建错误,在尝试引用我的共享库时会出现错误。为了解决这个问题,我在另一个文件夹中将我的共享库引用与我计算机上的实际源使用别名。看起来是这样的: var alias.shared-library='c:\\shared library\\index.js' 这解决了我奇怪的IE问题。然而,我的网页制作版本中提出了另一个

首先,我会说我有一个奇怪的网页包构建。我有两个项目,主项目和共享项目(像一个公共库)

每当我从主项目中引用我的共享项目时,就会出现一些奇怪的IE only/react/webpack构建错误,在尝试引用我的共享库时会出现错误。为了解决这个问题,我在另一个文件夹中将我的共享库引用与我计算机上的实际源使用别名。看起来是这样的:

var alias.shared-library='c:\\shared library\\index.js'

这解决了我奇怪的IE问题。然而,我的网页制作版本中提出了另一个问题。在生产服务器上,共享库存在于node_modules文件夹中,因此我尝试了以下方法:

var alias.shared-library='node_modules\\shared library\\index.js'

它主要工作,除了主项目中的所有SCS都被共享项目中的SCS覆盖(输出css只包含共享库中的SCS,而不包含主项目中的SCS)。我的完整设置如下所示(我删除了我认为不重要的部分):

我在我的加载程序上尝试了排除/包括的不同排列。我认为ExtractTextPlugin上的allChunks选项可能会起作用:

const extractScss = new ExtractTextPlugin({filename: 'scss.styles.css', allChunks: true});
但这只是给了我一个错误:

    TypeError: path.replace is not a function
    at Template.replacePathVariables (c:\r2\RCA\rca-ui\node_modules\webpack\lib\
TemplatedPathPlugin.js:70:4)
    at Template.applyPlugins [as applyPluginsWaterfall] (c:\r2\RCA\rca-ui\node_m
odules\webpack\node_modules\tapable\lib\Tapable.js:37:47)
    at Compilation.getPath (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilatio
n.js:882:27)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:300:29)
    at Array.forEach (native)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:289:20)
    at Compilation.next (c:\r2\RCA\rca-ui\node_modules\webpack\node_modules\tapa
ble\lib\Tapable.js:69:14)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:309:4)
    at Compilation.applyPluginsAsync (c:\r2\RCA\rca-ui\node_modules\webpack\node
_modules\tapable\lib\Tapable.js:71:13)
    at Compilation.<anonymous> (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compil
ation.js:563:8)
    at Compilation.next (c:\r2\RCA\rca-ui\node_modules\webpack\node_modules\tapa
ble\lib\Tapable.js:67:11)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:285:5)
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:52:16
    at done (c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modu
les\async\lib\async.js:246:17)
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:44:16
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\index.js:269:6
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:52:16
    at done (c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modu
les\async\lib\async.js:246:17)
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:44:16
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\index.js:259:9
    at c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilation.js:469:4
    at Array.forEach (native)
    at callback (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilation.js:468:14
)
    at Compilation.<anonymous> (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compil
ation.js:489:4)
    at c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilation.js:332:10
    at c:\r2\RCA\rca-ui\node_modules\webpack\node_modules\async\lib\async.js:52:
16
    at Object.async.forEachOf.async.eachOf (c:\r2\RCA\rca-ui\node_modules\webpac
k\node_modules\async\lib\async.js:236:30)
    at Object.async.forEach.async.each (c:\r2\RCA\rca-ui\node_modules\webpack\no
de_modules\async\lib\async.js:209:22)
    at Compilation.addModuleDependencies (c:\r2\RCA\rca-ui\node_modules\webpack\
lib\Compilation.js:185:8)
    at Compilation.processModuleDependencies (c:\r2\RCA\rca-ui\node_modules\webp
ack\lib\Compilation.js:170:7)

谢谢

如果您实际将“共享”库用作节点模块,为什么要将其命名为“共享”库?Webpack可以解析来自节点模块的文件路径,而不会混淆magicIn developer builds,我们可以设置共享库在其计算机中存在的位置的环境变量(将设置别名),因此如果他们正在处理主项目,他们可以直接修改共享库。你认为别名可能会导致问题吗?在开发构建中,如果不存在共享库路径,那么它会定期解决依赖关系。我注意到IE只有在设置了env var并使用了别名时才起作用。如果你真的将“共享”库用作节点模块,为什么要给它加上别名?Webpack可以解析来自节点模块的文件路径,而不会混淆magicIn developer builds,我们可以设置共享库在其计算机中存在的位置的环境变量(将设置别名),因此如果他们正在处理主项目,他们可以直接修改共享库。你认为别名可能会导致问题吗?在开发构建中,如果不存在共享库路径,那么它会定期解决依赖关系。我注意到IE只有在设置了env变量并使用了别名时才起作用。
    TypeError: path.replace is not a function
    at Template.replacePathVariables (c:\r2\RCA\rca-ui\node_modules\webpack\lib\
TemplatedPathPlugin.js:70:4)
    at Template.applyPlugins [as applyPluginsWaterfall] (c:\r2\RCA\rca-ui\node_m
odules\webpack\node_modules\tapable\lib\Tapable.js:37:47)
    at Compilation.getPath (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilatio
n.js:882:27)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:300:29)
    at Array.forEach (native)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:289:20)
    at Compilation.next (c:\r2\RCA\rca-ui\node_modules\webpack\node_modules\tapa
ble\lib\Tapable.js:69:14)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:309:4)
    at Compilation.applyPluginsAsync (c:\r2\RCA\rca-ui\node_modules\webpack\node
_modules\tapable\lib\Tapable.js:71:13)
    at Compilation.<anonymous> (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compil
ation.js:563:8)
    at Compilation.next (c:\r2\RCA\rca-ui\node_modules\webpack\node_modules\tapa
ble\lib\Tapable.js:67:11)
    at ExtractTextPlugin.<anonymous> (c:\r2\RCA\rca-ui\node_modules\extract-text
-webpack-plugin\index.js:285:5)
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:52:16
    at done (c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modu
les\async\lib\async.js:246:17)
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:44:16
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\index.js:269:6
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:52:16
    at done (c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modu
les\async\lib\async.js:246:17)
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\node_modules\as
ync\lib\async.js:44:16
    at c:\r2\RCA\rca-ui\node_modules\extract-text-webpack-plugin\index.js:259:9
    at c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilation.js:469:4
    at Array.forEach (native)
    at callback (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilation.js:468:14
)
    at Compilation.<anonymous> (c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compil
ation.js:489:4)
    at c:\r2\RCA\rca-ui\node_modules\webpack\lib\Compilation.js:332:10
    at c:\r2\RCA\rca-ui\node_modules\webpack\node_modules\async\lib\async.js:52:
16
    at Object.async.forEachOf.async.eachOf (c:\r2\RCA\rca-ui\node_modules\webpac
k\node_modules\async\lib\async.js:236:30)
    at Object.async.forEach.async.each (c:\r2\RCA\rca-ui\node_modules\webpack\no
de_modules\async\lib\async.js:209:22)
    at Compilation.addModuleDependencies (c:\r2\RCA\rca-ui\node_modules\webpack\
lib\Compilation.js:185:8)
    at Compilation.processModuleDependencies (c:\r2\RCA\rca-ui\node_modules\webp
ack\lib\Compilation.js:170:7)
"extract-text-webpack-plugin": "1.0.1",
"style-loader": "0.13.0",
"sass-loader": "3.1.2",
"webpack": "1.13.2"