Hay un nuevo chico en el barrio, y se llama Panamá, un nuevo sistema de anuncios de Yahoo! basado en el que adquirió de Overture hace ya tres años. Yahoo! lo ha abierto a nuevos anunciantes; por lo pronto solo en Estados Unidos…
¿Quieres saber como maquetaremos nuestros sitios en unos años? ¿Te intriga conocer las nuevas caracterÃsticas que traerá la especificación de CSS 3? En CSS3.info encontrarás un weblog con noticias y artÃculos sobre las novedades, ejemplos de atrib
Cómo colocar una imagen de fondo de nuestra pelÃcula que se adapte al tamaño de la ventana del navegador, escalandose pero sin distorsionarse. Escribo este tip viendo una pregunta y buscando la respuesta, que aquà posteo para el disfrute de todos uste
Andy Rutledge has crafted a couple of beautiful articles in which he attempts to explain why using Web standards does not stifle the creativity of or impose artificial barriers on graphic designers.
Cuando decidimos la publicación de un sitio una parte importante de ello es tener en cuenta dónde lo alojaremos, obtener el lugar indicado, es cuestión de una pequeña investigación y tener claro lo que necesitamos. Básicamente tenemos dos opciones f
La división de Internet del gigante de las comunicaciones Time Warner ha anunciado hoy lunes que va a comprar el grupo de marketing on-line sueco TradeDoubler por 900 millones de dólares, unos 700 millones de euros, para expandir su negocio publicitario
Web 2.0, blogging, and tags all go together, hand-in-hand. However, while RPC standards exist for blogs and the pinheads boggle over the true definition of a “blog,†no one has a cast-in-iron standard for tags.
Como se puede ver, existen dos scripts dentro de npm: build que compila el js y extrae los CSS, y dev, que arranca el servidor de webpack habilitando HMR (🎶 ¡ya no puedo vivir sin él! 🎶).
Ambas configuraciones de webpack usan un script en común (webpack.config.common.js):
const webpack = require( 'webpack' );
const path = require( 'path' );
// Carga los ficheros .vueconst VueLoaderPlugin = require( 'vue-loader/lib/plugin' );
// Configura stylelintconst StyleLintPlugin = require( 'stylelint-webpack-plugin' );
// Para obtener un path para los aliasfunctionresolve( dir ) {
return path.join( __dirname, '.', dir );
}
module.exports = {
mode: 'production',
// Fichero inicial del proyecto
entry: './js/main.js',
// Fichero final para incluir
output: {
filename: 'js/main.js',
publicPath: '/dist/',
},
module: {
// Reglas para los ficheros
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.css$/,
use: [
'css-loader',
'sass-loader',
],
},
],
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new VueLoaderPlugin(),
new StyleLintPlugin( {
files: [ '**/*.{vue,htm,html,css,sss,less,scss,sass}' ],
} ),
],
resolve: {
extensions: [ '.js', '.vue', '.json' ],
alias: {
'@': resolve( '' ),
},
},
};
El frontend se gestiona desde el fichero main.js, que inicializará Vue y añadirá el componente principal:
import Vue from 'vue';
import Buefy from 'buefy';
import'buefy/dist/buefy.css';
import App from './components/App.vue';
import'@/assets/scss/main.scss';
Vue.use( Buefy );
new Vue( {
el: '#app',
components: {
App,
},
render: ( c ) => c( 'app' ),
} );
// accept replacement modulesif ( module.hot ) {
module.hot.accept();
}
Y ya por último el componente App.vue, que muestra simplemente un poco de HTML