Rails로 푹신하고 현대적인 JavaScript 개발
webpack을 사용한다.
트위터로 Browserify 좋다든지 바보처럼 짹짹했던 곳 전 상사로부터
@mayutan 지금부터 사용한다면 webpack에서 좋지 않을까? nekoya (@nekoya) 2016년 7월 6일
라든지 반응이 있었기 때문에 webpack에 새장. 클라이언트 측은 템플릿과 끈적이기 때문에 완전 분리는 포기한다. 거기서 나누어 적당히 떼어 놓기로 한다. ↓여기를 참고로.
ㅜㅜㅜㅜㅜ 네 t/2015/01/호 w-토우세우ぇb파CK-우우 th-라 ls/
ぃ tp // 코 m / 고양이 c 또는 rc / ms / 아후 674 아 b10 아 아 후 9784
전제
설치 등 준비
npm install -g webpack
npm install -D webpack babel babel-loader babel-core
npm install --save angular
npm install -D babel-preset-es2015 babel-preset-stage-2
project/app/assets/javascripts/app/config/development.js
module.exports = {
devtool: 'inline-source-map',
entry: {
application: './app/assets/javascripts/app/app.js',
},
output: {
path: './app/assets/javascripts/app',
filename: '[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel?presets[]=es2015,presets[]=stage-2'
}
]
}
}
project/app/assets/javascripts/app/app.js
import angular from 'angular';
import testCtrl from './controllers/testCtrl';
export default angular.module('testapp', [])
.controller(testCtrl.name, testCtrl)
app/assets/javascripts/app/controllers/testCtrl.js
export default class testCtrl {
constructor() {
console.log('test');
}
}
app/views/test.html
<div ng-controller="testCtrl"></div>
빌드 명령 추가
package.json
"scripts": {
"release": "webpack --config app/assets/javascripts/app/config/production.js",
"build": "webpack --config app/assets/javascripts/app/config/development.js",
"watch": "webpack --watch --config app/assets/javascripts/app/config/development.js"
}
lib/tasks/precompile.rb
task :build_frontend do
sh "npm install"
sh "npm run release"
end
Rake::Task["assets:precompile"].enhance(%i(build_frontend))
이렇게 하면 bundle exec rake assets:precompile 의 앞에 마음대로 빌드해 준다.
project/app/assets/javascripts/application.js
//=require app/appllication.js
빌드하고 브라우저에 액세스하면
짱
결론
레일스는 빌어 먹을
angular1.x 시스템에서 ES6을 고집하는 것은 죽음. 억지로 쓰지 않는다
자꾸 썼지만, 저것 이것 에라하거나 그 외 여러분 정말로는 마리마리리마 크리스티. 어쨌든 Rails에 사악하게 짜여져있어 괴로움 밖에 없다. 대체로 뿌로케츠가 너무 쓰레기. 어쨌든 프레임 워크에서 지금은 사용할 필요 없다는 느낌.
Reference
이 문제에 관하여(Rails로 푹신하고 현대적인 JavaScript 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mayutan/items/eb9077be49e6a55b31e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)