npm run watch // Chạy localhost:3000 mở tab mới trình duyệt
npm run build // Chạy bản build .min.css, .min.js phục vụ deploy (thường do GitHub tự build trên branch develop)
npm run fix // Chạy fix các lỗi code standard CSS, JS, PHP (sai tab indent, xuống dòng...)
npm run test // Kiểm tra các lỗi code standard nhưng không fix, trả về báo lỗi nếu thấy
Để npm run watch
hoạt động đúng domain, ban cần vào cấu hình file `config/webpack.settings.js``
proxy: {
target: 'http://codetot-shop.test', // Thay chỗ này
proxyReq: [
proxyReq => {
proxyReq.setHeader('X-Codetot-Header', 'development')
}
]
},
Một số file cần copy thì .svg, .png thì cần bổ sung thao tác copy cho Webpack, tiến hành như sau:
File: webpack.common.js
Có file nào thì copy {} của cái đó, nếu không sẽ báo lỗi.
Ví dụ như copy 1 thư viện jQuery, thì copy file chưa .min.js vd jquery.validate.js vào folder src/js/vendors/jquery.validate.js
Sau đó copy đoạn copy chỉ file vendor js vào như thế này:
{
from: '**/vendors/*.js',
to: '[path][name].min.[ext]',
context: path.resolve(process.cwd(), settings.paths.src.base)
}
Source tham khảo đầy đủ:
const CopyWebpackPlugin = require('copy-webpack-plugin') // Cái này thêm vào phía trên cùng
...
new CopyWebpackPlugin({
patterns: [
{
from: '**/vendors/*.js',
to: '[path][name].min.[ext]',
context: path.resolve(process.cwd(), settings.paths.src.base)
},
{
from: '**/*.{jpg,jpeg,png,gif}',
to: '[path][name].[ext]',
context: path.resolve(process.cwd(), settings.paths.src.base)
},
{
from: '**/*.svg',
to: '[path][name].[ext]',
context: path.resolve(process.cwd(), settings.paths.src.base)
}
]
}),