Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
9년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
1 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
130 행
복사
5 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
133 행
복사
var fs = require('fs'),
var fs = require('fs'),
path = require('path'),
path = require('path'),
techs = {
techs = {
// essential
// essential
fileProvider: require('enb/techs/file-provider'),
fileProvider: require('enb/techs/file-provider'),
fileMerge: require('enb/techs/file-merge'),
fileMerge: require('enb/techs/file-merge'),
// optimization
// optimization
borschik: require('enb-borschik/techs/borschik'),
borschik: require('enb-borschik/techs/borschik'),
// css
// css
postcss: require('enb-postcss/techs/enb-postcss'),
postcss: require('enb-postcss/techs/enb-postcss'),
postcssPlugins: [
postcssPlugins: [
require('postcss-import')(),
require('postcss-import')(),
require('postcss-each'),
require('postcss-each'),
require('postcss-for'),
require('postcss-for'),
require('postcss-simple-vars')(),
require('postcss-simple-vars')(),
require('postcss-calc')(),
require('postcss-calc')(),
require('postcss-nested'),
require('postcss-nested'),
require('rebem-css'),
require('rebem-css'),
require('postcss-url')({ url: 'inline' }),
require('postcss-url')({ url: 'inline' }),
require('autoprefixer')(),
require('autoprefixer')(),
require('postcss-reporter')()
require('postcss-reporter')()
],
],
// js
// js
browserJs: require('enb-js/techs/browser-js'),
browserJs: require('enb-js/techs/browser-js'),
// bemtree
// bemtree
// bemtree: require('enb-bemxjst/techs/bemtree'),
// bemtree: require('enb-bemxjst/techs/bemtree'),
// bemhtml
// bemhtml
bemhtml: require('enb-bemxjst/techs/bemhtml'),
bemhtml: require('enb-bemxjst/techs/bemhtml'),
복사
복사됨
복사
복사됨
bemjsonToHtml: require('enb-bemxjst/techs/bemjson-to-html')
bemjsonToHtml: require('enb-bemxjst/techs/bemjson-to-html')
,
htmlBeautify: require('enb-beautify/techs/enb-beautify-html')
},
},
enbBemTechs = require('enb-bem-techs'),
enbBemTechs = require('enb-bem-techs'),
merged = require('./techs/merged'),
merged = require('./techs/merged'),
levels = [
levels = [
{ path: 'node_modules/bem-core/common.blocks', check: false },
{ path: 'node_modules/bem-core/common.blocks', check: false },
{ path: 'node_modules/bem-core/desktop.blocks', check: false },
{ path: 'node_modules/bem-core/desktop.blocks', check: false },
{ path: 'node_modules/bem-components/common.blocks', check: false },
{ path: 'node_modules/bem-components/common.blocks', check: false },
{ path: 'node_modules/bem-components/desktop.blocks', check: false },
{ path: 'node_modules/bem-components/desktop.blocks', check: false },
{ path: 'node_modules/bem-components/design/common.blocks', check: false },
{ path: 'node_modules/bem-components/design/common.blocks', check: false },
{ path: 'node_modules/bem-components/design/desktop.blocks', check: false },
{ path: 'node_modules/bem-components/design/desktop.blocks', check: false },
'common.blocks',
'common.blocks',
'desktop.blocks'
'desktop.blocks'
];
];
module.exports = function(config) {
module.exports = function(config) {
var isProd = process.env.YENV === 'production',
var isProd = process.env.YENV === 'production',
mergedBundleName = 'merged',
mergedBundleName = 'merged',
pathToMargedBundle = path.join('desktop.bundles', mergedBundleName);
pathToMargedBundle = path.join('desktop.bundles', mergedBundleName);
fs.existsSync(pathToMargedBundle) || fs.mkdirSync(pathToMargedBundle);
fs.existsSync(pathToMargedBundle) || fs.mkdirSync(pathToMargedBundle);
merged(config, pathToMargedBundle);
merged(config, pathToMargedBundle);
config.nodes('*.bundles/*', function(nodeConfig) {
config.nodes('*.bundles/*', function(nodeConfig) {
var isMergedNode = path.basename(nodeConfig.getPath()) === mergedBundleName;
var isMergedNode = path.basename(nodeConfig.getPath()) === mergedBundleName;
isMergedNode || nodeConfig.addTechs([
isMergedNode || nodeConfig.addTechs([
[techs.fileProvider, { target: '?.bemjson.js' }],
[techs.fileProvider, { target: '?.bemjson.js' }],
[enbBemTechs.bemjsonToBemdecl]
[enbBemTechs.bemjsonToBemdecl]
]);
]);
nodeConfig.addTechs([
nodeConfig.addTechs([
// essential
// essential
[enbBemTechs.levels, { levels: levels }],
[enbBemTechs.levels, { levels: levels }],
[enbBemTechs.deps],
[enbBemTechs.deps],
[enbBemTechs.files],
[enbBemTechs.files],
// css
// css
[techs.postcss, {
[techs.postcss, {
target: '?.css',
target: '?.css',
oneOfSourceSuffixes: ['post.css', 'css'],
oneOfSourceSuffixes: ['post.css', 'css'],
plugins: techs.postcssPlugins
plugins: techs.postcssPlugins
}],
}],
// bemtree
// bemtree
// [techs.bemtree, { sourceSuffixes: ['bemtree', 'bemtree.js'] }],
// [techs.bemtree, { sourceSuffixes: ['bemtree', 'bemtree.js'] }],
// bemhtml
// bemhtml
[techs.bemhtml, {
[techs.bemhtml, {
sourceSuffixes: ['bemhtml', 'bemhtml.js'],
sourceSuffixes: ['bemhtml', 'bemhtml.js'],
forceBaseTemplates: true,
forceBaseTemplates: true,
engineOptions : { elemJsInstances : true }
engineOptions : { elemJsInstances : true }
}],
}],
// html
// html
[techs.bemjsonToHtml],
[techs.bemjsonToHtml],
복사
복사됨
복사
복사됨
[techs.htmlBeautify],
// client bemhtml
// client bemhtml
[enbBemTechs.depsByTechToBemdecl, {
[enbBemTechs.depsByTechToBemdecl, {
target: '?.bemhtml.bemdecl.js',
target: '?.bemhtml.bemdecl.js',
sourceTech: 'js',
sourceTech: 'js',
destTech: 'bemhtml'
destTech: 'bemhtml'
}],
}],
[enbBemTechs.deps, {
[enbBemTechs.deps, {
target: '?.bemhtml.deps.js',
target: '?.bemhtml.deps.js',
bemdeclFile: '?.bemhtml.bemdecl.js'
bemdeclFile: '?.bemhtml.bemdecl.js'
}],
}],
[enbBemTechs.files, {
[enbBemTechs.files, {
depsFile: '?.bemhtml.deps.js',
depsFile: '?.bemhtml.deps.js',
filesTarget: '?.bemhtml.files',
filesTarget: '?.bemhtml.files',
dirsTarget: '?.bemhtml.dirs'
dirsTarget: '?.bemhtml.dirs'
}],
}],
[techs.bemhtml, {
[techs.bemhtml, {
target: '?.browser.bemhtml.js',
target: '?.browser.bemhtml.js',
filesTarget: '?.bemhtml.files',
filesTarget: '?.bemhtml.files',
sourceSuffixes: ['bemhtml', 'bemhtml.js'],
sourceSuffixes: ['bemhtml', 'bemhtml.js'],
engineOptions : { elemJsInstances : true }
engineOptions : { elemJsInstances : true }
}],
}],
// js
// js
[techs.browserJs, { includeYM: true }],
[techs.browserJs, { includeYM: true }],
[techs.fileMerge, {
[techs.fileMerge, {
target: '?.js',
target: '?.js',
sources: ['?.browser.js', '?.browser.bemhtml.js']
sources: ['?.browser.js', '?.browser.bemhtml.js']
}],
}],
// borschik
// borschik
[techs.borschik, { source: '?.js', target: '?.min.js', minify: isProd }],
[techs.borschik, { source: '?.js', target: '?.min.js', minify: isProd }],
[techs.borschik, { source: '?.css', target: '?.min.css', minify: isProd }]
[techs.borschik, { source: '?.css', target: '?.min.css', minify: isProd }]
]);
]);
복사
복사됨
복사
복사됨
nodeConfig.addTargets([/* '?.bemtree.js', */ '?.min.css', '?.min.js']);
nodeConfig.addTargets([/* '?.bemtree.js', */ '?.min.css', '?.min.js']);
isMergedNode || nodeConfig.addTargets(['?.html']);
isMergedNode || nodeConfig.addTargets(['?.html']);
});
});
};
};
저장된 비교 결과
원본
파일 열기
var fs = require('fs'), path = require('path'), techs = { // essential fileProvider: require('enb/techs/file-provider'), fileMerge: require('enb/techs/file-merge'), // optimization borschik: require('enb-borschik/techs/borschik'), // css postcss: require('enb-postcss/techs/enb-postcss'), postcssPlugins: [ require('postcss-import')(), require('postcss-each'), require('postcss-for'), require('postcss-simple-vars')(), require('postcss-calc')(), require('postcss-nested'), require('rebem-css'), require('postcss-url')({ url: 'inline' }), require('autoprefixer')(), require('postcss-reporter')() ], // js browserJs: require('enb-js/techs/browser-js'), // bemtree // bemtree: require('enb-bemxjst/techs/bemtree'), // bemhtml bemhtml: require('enb-bemxjst/techs/bemhtml'), bemjsonToHtml: require('enb-bemxjst/techs/bemjson-to-html') }, enbBemTechs = require('enb-bem-techs'), merged = require('./techs/merged'), levels = [ { path: 'node_modules/bem-core/common.blocks', check: false }, { path: 'node_modules/bem-core/desktop.blocks', check: false }, { path: 'node_modules/bem-components/common.blocks', check: false }, { path: 'node_modules/bem-components/desktop.blocks', check: false }, { path: 'node_modules/bem-components/design/common.blocks', check: false }, { path: 'node_modules/bem-components/design/desktop.blocks', check: false }, 'common.blocks', 'desktop.blocks' ]; module.exports = function(config) { var isProd = process.env.YENV === 'production', mergedBundleName = 'merged', pathToMargedBundle = path.join('desktop.bundles', mergedBundleName); fs.existsSync(pathToMargedBundle) || fs.mkdirSync(pathToMargedBundle); merged(config, pathToMargedBundle); config.nodes('*.bundles/*', function(nodeConfig) { var isMergedNode = path.basename(nodeConfig.getPath()) === mergedBundleName; isMergedNode || nodeConfig.addTechs([ [techs.fileProvider, { target: '?.bemjson.js' }], [enbBemTechs.bemjsonToBemdecl] ]); nodeConfig.addTechs([ // essential [enbBemTechs.levels, { levels: levels }], [enbBemTechs.deps], [enbBemTechs.files], // css [techs.postcss, { target: '?.css', oneOfSourceSuffixes: ['post.css', 'css'], plugins: techs.postcssPlugins }], // bemtree // [techs.bemtree, { sourceSuffixes: ['bemtree', 'bemtree.js'] }], // bemhtml [techs.bemhtml, { sourceSuffixes: ['bemhtml', 'bemhtml.js'], forceBaseTemplates: true, engineOptions : { elemJsInstances : true } }], // html [techs.bemjsonToHtml], // client bemhtml [enbBemTechs.depsByTechToBemdecl, { target: '?.bemhtml.bemdecl.js', sourceTech: 'js', destTech: 'bemhtml' }], [enbBemTechs.deps, { target: '?.bemhtml.deps.js', bemdeclFile: '?.bemhtml.bemdecl.js' }], [enbBemTechs.files, { depsFile: '?.bemhtml.deps.js', filesTarget: '?.bemhtml.files', dirsTarget: '?.bemhtml.dirs' }], [techs.bemhtml, { target: '?.browser.bemhtml.js', filesTarget: '?.bemhtml.files', sourceSuffixes: ['bemhtml', 'bemhtml.js'], engineOptions : { elemJsInstances : true } }], // js [techs.browserJs, { includeYM: true }], [techs.fileMerge, { target: '?.js', sources: ['?.browser.js', '?.browser.bemhtml.js'] }], // borschik [techs.borschik, { source: '?.js', target: '?.min.js', minify: isProd }], [techs.borschik, { source: '?.css', target: '?.min.css', minify: isProd }] ]); nodeConfig.addTargets([/* '?.bemtree.js', */ '?.min.css', '?.min.js']); isMergedNode || nodeConfig.addTargets(['?.html']); }); };
수정본
파일 열기
var fs = require('fs'), path = require('path'), techs = { // essential fileProvider: require('enb/techs/file-provider'), fileMerge: require('enb/techs/file-merge'), // optimization borschik: require('enb-borschik/techs/borschik'), // css postcss: require('enb-postcss/techs/enb-postcss'), postcssPlugins: [ require('postcss-import')(), require('postcss-each'), require('postcss-for'), require('postcss-simple-vars')(), require('postcss-calc')(), require('postcss-nested'), require('rebem-css'), require('postcss-url')({ url: 'inline' }), require('autoprefixer')(), require('postcss-reporter')() ], // js browserJs: require('enb-js/techs/browser-js'), // bemtree // bemtree: require('enb-bemxjst/techs/bemtree'), // bemhtml bemhtml: require('enb-bemxjst/techs/bemhtml'), bemjsonToHtml: require('enb-bemxjst/techs/bemjson-to-html'), htmlBeautify: require('enb-beautify/techs/enb-beautify-html') }, enbBemTechs = require('enb-bem-techs'), merged = require('./techs/merged'), levels = [ { path: 'node_modules/bem-core/common.blocks', check: false }, { path: 'node_modules/bem-core/desktop.blocks', check: false }, { path: 'node_modules/bem-components/common.blocks', check: false }, { path: 'node_modules/bem-components/desktop.blocks', check: false }, { path: 'node_modules/bem-components/design/common.blocks', check: false }, { path: 'node_modules/bem-components/design/desktop.blocks', check: false }, 'common.blocks', 'desktop.blocks' ]; module.exports = function(config) { var isProd = process.env.YENV === 'production', mergedBundleName = 'merged', pathToMargedBundle = path.join('desktop.bundles', mergedBundleName); fs.existsSync(pathToMargedBundle) || fs.mkdirSync(pathToMargedBundle); merged(config, pathToMargedBundle); config.nodes('*.bundles/*', function(nodeConfig) { var isMergedNode = path.basename(nodeConfig.getPath()) === mergedBundleName; isMergedNode || nodeConfig.addTechs([ [techs.fileProvider, { target: '?.bemjson.js' }], [enbBemTechs.bemjsonToBemdecl] ]); nodeConfig.addTechs([ // essential [enbBemTechs.levels, { levels: levels }], [enbBemTechs.deps], [enbBemTechs.files], // css [techs.postcss, { target: '?.css', oneOfSourceSuffixes: ['post.css', 'css'], plugins: techs.postcssPlugins }], // bemtree // [techs.bemtree, { sourceSuffixes: ['bemtree', 'bemtree.js'] }], // bemhtml [techs.bemhtml, { sourceSuffixes: ['bemhtml', 'bemhtml.js'], forceBaseTemplates: true, engineOptions : { elemJsInstances : true } }], // html [techs.bemjsonToHtml], [techs.htmlBeautify], // client bemhtml [enbBemTechs.depsByTechToBemdecl, { target: '?.bemhtml.bemdecl.js', sourceTech: 'js', destTech: 'bemhtml' }], [enbBemTechs.deps, { target: '?.bemhtml.deps.js', bemdeclFile: '?.bemhtml.bemdecl.js' }], [enbBemTechs.files, { depsFile: '?.bemhtml.deps.js', filesTarget: '?.bemhtml.files', dirsTarget: '?.bemhtml.dirs' }], [techs.bemhtml, { target: '?.browser.bemhtml.js', filesTarget: '?.bemhtml.files', sourceSuffixes: ['bemhtml', 'bemhtml.js'], engineOptions : { elemJsInstances : true } }], // js [techs.browserJs, { includeYM: true }], [techs.fileMerge, { target: '?.js', sources: ['?.browser.js', '?.browser.bemhtml.js'] }], // borschik [techs.borschik, { source: '?.js', target: '?.min.js', minify: isProd }], [techs.borschik, { source: '?.css', target: '?.min.css', minify: isProd }] ]); nodeConfig.addTargets([/* '?.bemtree.js', */ '?.min.css', '?.min.js']); isMergedNode || nodeConfig.addTargets(['?.html']); }); };
비교하기