【问题标题】:Webpack - Import Less from TypeScript fails (css-loader)Webpack - 从 TypeScript 导入 Less 失败(css-loader)
【发布时间】:2017-06-10 19:43:57
【问题描述】:

我正在尝试通过 Webpack 使用 TypeScript 构建一个测试项目。仅在 index.ts 中导入了 index.ts 文件和 base.less(或 base.css)文件,它会因 index.ts 错误而失败强>css-loader。如果没有在 .ts 文件中导入 LESS (CSS) 文件,一切正常。

我有另一个只有 JS 的大项目(没有 TypeScript),它与同一个 webpack.config 文件(babel 而不是 ts 加载器)运行良好。

Webpack@2.2.0

所有需要的加载器都安装好了。

webpack.config.jsBitbucket link to the test project

./~/css-loader/lib/css-base.js 中的错误 模块构建失败:错误:最终加载器未返回缓冲区或字符串

【问题讨论】:

    标签: css typescript webpack css-loader extract-text-plugin


    【解决方案1】:

    您的 webpack.config.js 中的 TypeScript 加载器有错误的 RegExp 规则。你需要这个:

    `test: /(.ts|.tsx)$/`
    

    但你有这个:

    `test: /(.ts|.tsx)?/`
    

    其中说:无论如何都加载为 TypeScript 文件。

    【讨论】:

    • 我今天修好了,但还没有推送。但是 ts 脚本工作正常。仅当我编写“import './less/base.less' 时,Webpack 才会出错。我发现(在 webpack2 文档中)我需要添加带有声明 '*.less'(和 CSS)的 .d.ts 文件,但仍然它没有帮助,得到了同样的错误。只需 10 分钟,我将推送我更新的文件。现在有一个 JS 文件,其中导入的 less 可以工作,而 TS 文件只有 TS 代码而没有导入也可以工作的样式。但是如果我移动从styles.js 导入到index.ts 上面出现错误。
    • webpack 在import 'base.less' 上给出错误,因为它认为它是一个.ts 文件。按照我的建议修复 RegExp 规则,一切都会好起来的
    • 是的!它有效……难以置信。我修?使用 $ 但在此正则表达式中出现另一个错误。谢谢!!!
    猜你喜欢
    • 2018-03-04
    • 2018-12-16
    • 2019-06-26
    • 2016-09-08
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    相关资源
    最近更新 更多