Ric*_*man 6 javascript node.js webpack
我有一些webpack/raw-loader/sass-sync-loader问题.在我的本地机器上,运行正常.但是,在我的linux CI服务器上,webpack失败了.
有人可以给我一个关于如何开始诊断最新情况的指针吗?我不太清楚从哪里开始.
这是linux上的webpack输出:
Hash: 314a28b414704badd07b
Version: webpack 1.4.15
Time: 7350ms
Asset Size Chunks Chunk Names
main.js 1648360 0 [emitted] main
main.css 138069 0 [emitted] main
+ 595 hidden modules
ERROR in ./~/raw-loader!./~/autoprefixer-loader
!./node_loaders/sass-sync-loader.js?sync&outputStyle=compact&
includePaths[]=/home/u65/src/repo/desktop-prototype/.generated/design-assets&
includePaths[]=/home/u65/src/repo/desktop-prototype/.generated/design-properties&
includePaths[]=/home/u65/src/repo/desktop-prototype/app!./app/index.scss
Module build failed:
@ ./app/index.scss 4:14-564
<SNIP>
ERROR in ./app/index.scss Module build failed:
Error: Didn't get a result from child compiler
at Object.<anonymous> (/home/u65/src/repo/desktop-prototype/
node_modules/extract-text-webpack-plugin/loader.js:90:22)
at Tapable.<anonymous> (/home/u65/src/repo/desktop-prototype/node_modules/webpack/lib/Compiler.js:210:10) at /home/u65/src/repo/desktop-prototype/node_modules/webpack/lib/Compiler.js:397:12 at Tapable.next (/home/u65/src/repo/desktop-prototype/node_modules/webpack/node_modules/tapable/lib/Tapable.js:69:11) at Object.<anonymous> (/home/u65/src/repo/desktop-prototype/node_modules/extract-text-webpack-plugin/loader.js:77:5) at Tapable.next (/home/u65/src/repo/desktop-prototype/node_modules/webpack/node_modules/tapable/lib/Tapable.js:71:37) at CachePlugin.<anonymous> (/home/u65/src/repo/desktop-prototype/node_modules/webpack/lib/CachePlugin.js:40:4) at Tapable.applyPluginsAsync (/home/u65/src/repo/desktop-prototype/node_modules/webpack/node_modules/tapable/lib/Tapable.js:73:13) at Tapable.<anonymous> (/home/u65/src/repo/desktop-prototype/node_modules/webpack/lib/Compiler.js:394:9) at Tapable.<anonymous> (/home/u65/src/repo/desktop-prototype/node_modules/webpack/lib/Compilation.js:534:13)
<SNIP>
ERROR in ./~/raw-loader!./~/autoprefixer-loader!
./node_loaders/sass-sync-loader.js?sync&outputStyle=compact&includePaths[]=
/home/u65/src/repo/desktop-prototype/.generated/designassets&
includePaths[]=/home/u65/src/repo/desktop-prototype/.generated/design-
properties&includePaths[]=/home/u65/src/repo/desktop-prototype/
app!./app/index.scss
Module build failed: Child extract-text-webpack-plugin:
+ 1 hidden modules
Child extract-text-webpack-plugin:
+ 1 hidden modules
Run Code Online (Sandbox Code Playgroud)
正如@Richard_Boardman指出的那样,Mac不区分大小写,但Linux却是.因此,任何拼写错误都可以在Mac开发环境中正常工作,但在部署时会失败.
您可以强制Webpack在开发服务器和构建中更严格地使用其文件名和路径匹配 - 因此错误拼写将在仍然在您的开发箱上而不是在服务器上失败 - 通过使用像案例敏感路径的Webpack插件- webpack-plugin.
安装完成后,可以编写一些测试,例如:
describe("Case-Sensitive Paths Plugin", () => {
it('shouldn\'t interfere with correctly-spelled imports', () => {
const getUser1 = require('../src/utils/api');
expect(getUser1).toBeDefined();
});
it('should cause mistakes in filename case to fail import', () => {
expect(() => {const getUser2 = require('../src/utils/API');}).toThrow();
});
it('should cause mistakes in path case to fail import', () => {
expect(() => {const getUser3 = require('../src/Utils/api');}).toThrow();
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2129 次 |
| 最近记录: |