PostCSS模块从错误的目录加载

时间:2017-05-31 22:44:42

标签: windows node-modules postcss postcss-cli

我试图让PostCSS CLI在Windows上运行,与PHPStorm一起使用。我通过命令行选项让它工作,但我想将它与javascript配置文件一起使用。

以下是我用于通过NPM安装PostCSS的命令:

HTTPS

所以我现在在node / node_modules目录中有大约6个模块。

我有这个批处理文件(分成多行以便您查看乐趣)。这是在PostCSS文件夹中,仅用于测试:

# NPM is installed at PostCSS\node\npm. Commands are run in the PostCSS dir.

"node\npm" install --global postcss-cli # PostCSS\node\node_modules\postcss-cli\
"node\npm" install --global lost        # PostCSS\node\node_modules\lost\
# and a few other modules...

此批处理文件有效,所有插件也可以使用。

我的问题:

我想使用postcss.config.js而不是命令行参数,这样我就可以轻松地自定义插件并使其更具可移植性。我有几十个单独的项目,我将在不同的目录和计算机中使用相同的设置。为此,我得到了一个名为" run-from-config.bat"的新批处理文件。具有以下内容:

"node\postcss" -u postcss-normalize
               -u postcss-cssnext 
               -u postcss-import
               -u lost
               -o output.css
               source.css

此新批处理文件与命令行版本位于同一文件夹中,同时包含新文件 postcss.config.js

"node\postcss" -c "postcss.config.js"
               -o output-configured.css
               source.css

这遵循PostCSS-CLI页面下的内容"内容":https://github.com/postcss/postcss-cli

但它给了我一个错误,似乎是从错误的位置加载模块:

module.exports = {
  plugins: [
    require('postcss-normalize')({
        "browserslist": "last 2 versions" // I intend to add more options...
    }),
    require('postcss-cssnext')({}),
    require('postcss-import')({}),
    require('lost')({})
  ]
}

因此在使用此javascript配置文件时似乎无法找到该模块。但它可以通过命令行选项 Processing source.css { Error: Cannot find module 'postcss-normalize' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at Object.<anonymous> (G:\Dropbox\Web Development\PostCSS\postcss.config.js:3:5) at Module._compile (module.js:570:32) at requireFromString (G:\Dropbox\Web Development\PostCSS\node\node_modules\postcss-cli\node_modules\require-from-string\index.js:27:4) at G:\Dropbox\Web Development\PostCSS\node\node_modules\postcss-cli\node_modules\cosmiconfig\lib\loadJs.js:11:15 code: 'MODULE_NOT_FOUND' } 加载插件。我根本不知道如何更改模块目录。

我尝试使用其他一些选项来更改目录,包括-u-b,但似乎没有任何效果。我只是不了解PostCSS(或底层的javascript软件),足以自行调试问题。

0 个答案:

没有答案